公司内网一键安装Docker(CentOS 7)

Centos7 离线安装docker 安装docker的方式有很多种,但是当公司服务安全级别要求无法直连外网时,我们只能选择离线安装docker。通过下载资源包,手动安装的方式来实现docker离线安装,安装步骤也很简单方便,本文就是记录我在服务器上的一次安装过程。... 阅读详情

背景

一般公司内网不允许直连公网,安装Docker往往需要通过yum代理,才能够实现安装。

程序

Feature

前提
  1. 能通内网,能使用yum安装软件
新申请服务器场景

默认没有挂载数据盘,建议挂载数据盘,参考如下文章。

或者将清理脚本保存到远程服务器,提供下载链接出来。本程序再执行下载引用

一键清理Docker磁盘文件-优快云博客

适用场景

未安装过Docker,需要新装的场景。

已安装过Docker的场景

  1. 请先卸载再重新执行本脚本
  2. 或者走升级流程
软件源内网源
支持操作系统CentOS 7
功能
  1. 检测内网软件安装源是否能连通,给出无法连通提示
  2. 自动配置内网软件安装源
  3. 指定Docker版本:默认 23.0.6-1.el7
  4. 自动设置Docker数据目录(最大挂载点,且非根目录)
  5. 配置Docker Daemon文件:日志滚动等优化
  6. 设置磁盘定期清理:凌晨五点清理前一天的无用的数据
  7. 兼容docker-compose使用
  8. 修改docker默认内网IP网段,防止跟公司网络冲突(docker默认的172.x.x.x网段若被其它网段占用,则会造成回环网络,容器无法正常访问外部服务)

脚本

#!/bin/sh
#
# Description
# Install the Docker Service Automatically
# 1. Update the docker-ce yum repository
# 2. Config the docker docker daemon file
# 3. Install the docker
# 4. Start & enable the docker system service
# 5. Create Cron Job to Reclaim Docker disk space
#
DOCKER_CE_VERSION="23.0.6-1.el7"
# docker数据目录,后续会自动识别
DOCKER_DATA_ROOT="/app/docker"

YUM_HOST="your yum proxy ip address"
YUM_DOMAIN="yummirrors.yourdomain.com"

check_yum_host() {
  ping $YUM_DOMAIN -c 2
  if [ $? -ne 0 ]; then
    echo "$YUM_HOST  $YUM_DOMAIN" >>/etc/hosts
  else
    return
  fi
  ping $YUM_DOMAIN -c 2
  if [ $? -ne 0 ]; then
    echo "内网yum源网络不通,请联系运维人员。[$YUM_DOMAIN][$YUM_HOST]"
    exit 1
  fi
}

update_centos_base_repo() {
  cd /etc/yum.repos.d
  mkdir -p backup && mv *repo* backup
  cat >/etc/yum.repos.d/CentOS-Base.repo <<EOF
[Centos-7-Base]
name=CentOS7-Base
baseurl=http://$YUM_DOMAIN/\$releasever/\$basearch/base/
enabled=1
gpgcheck=0
[Centos-7-epel]
name=CentOS7-Epel
baseurl=http://$YUM_DOMAIN/\$releasever/\$basearch/epel/
enabled=1
gpgcheck=0
[Centos-7-extras]
name=CentOS7-extras
baseurl=http://$YUM_DOMAIN/\$releasever/\$basearch/extras/
enabled=1
gpgcheck=0
[Centos-7-updates]
name=CentOS7-updates
baseurl=http://$YUM_DOMAIN/\$releasever/\$basearch/updates/
enabled=1
gpgcheck=0
EOF

}

update_docker_ce_yum_repo() {
  cat >/etc/yum.repos.d/docker-ce-stable.repo <<EOF
[docker-ce-stable]
name=docker-ce-stable
baseurl=http://$YUM_DOMAIN/\$releasever/\$basearch/docker-ce-stable/
enabled=1
gpgcheck=0
EOF
  yum clean all && yum makecache fast
}

config_docker_data_root() {
  max_mount_point=$(lsblk -nbo SIZE,MOUNTPOINT|grep "/"|grep -w -v "\/" |sort -rn|head -n 1|awk '{print $2}')
  echo "检测到最大磁盘挂载目录: $max_mount_point"
  DOCKER_DATA_ROOT="$max_mount_point/docker"
  echo "将Docker数据目录设置为:$DOCKER_DATA_ROOT"
  mkdir -p $DOCKER_DATA_ROOT
}

install_docker_ce() {
  if [ -x "$(command -v docker)" ]; then
    echo "The Docker Service installed. Please Uninstall the docker."
    # uninstall the docker service
    echo "========Uninstall the Docker Service==============="
    yum remove docker-ce docker-ce-cli containerd.io \
      docker-compose-plugin docker-ce-rootless-extras -q -y
    rm -rf /var/lib/docker
    rm -rf /var/lib/containerd
    echo "=========Uninstall the Docker Service Success======"
  fi
  echo "===============Start to Install the Docker Service. Version: ${DOCKER_CE_VERSION}"
  yum install \
    docker-ce-${DOCKER_CE_VERSION} \
    docker-ce-cli-${DOCKER_CE_VERSION} \
    containerd.io \
    docker-buildx-plugin \
    docker-compose-plugin -q -y
  if [ $? -ne 0 ]; then
      echo "安装Docker服务失败,请联系运维人员,安装Docker相关依赖失败"
      exit 1
  fi
}

config_docker_daemon() {
  # 微调docker配置文件
  test -e /etc/docker/daemon.json
  if [ $? -eq 0 ]; then
    echo "daemon.json file exist"
  else
    mkdir -p /etc/docker
    touch /etc/docker/daemon.json
  fi
  # 设置容器日志滚动策略,默认不滚动,日志会打爆磁盘
  cat >/etc/docker/daemon.json <<EOF
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  },
  "data-root": "$DOCKER_DATA_ROOT",
  "storage-driver": "overlay2",
  "default-address-pools":
    [
      {"base":"10.211.0.0/16","size":24}
    ]
}
EOF
}

systemctl_docker_service() {
  systemctl daemon-reload
  systemctl enable docker
  systemctl restart docker
}

create_docker_disk_space_reclaim_cron_job() {
  # 前面文章的脚本,参考一键清理docker磁盘程序
  sh onekey_reclaim_docker_disk_space.sh
}

config_kernel_env() {
  cat >/etc/sysctl.d/docker.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
EOF
  sysctl --system -q
}

compatable_old_version_dockercompose(){
  ln /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-compose
}

main() {
  check_yum_host
  update_centos_base_repo
  update_docker_ce_yum_repo
  install_docker_ce
  config_docker_data_root
  config_docker_daemon
  config_kernel_env
  systemctl_docker_service
  compatable_old_version_dockercompose
  create_docker_disk_space_reclaim_cron_job
  echo "=========Install Docker Service Success==========="
}

main

Docker 验证 Centos7.2 离线安装 Docker 环境 本文由作者:蛮大人  授权发布 链接:https://opsdev.fun/2018/05/09/O2-0-Docker%E9%AA%8C%E8%AF%81Centos7-2%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85Docker%E7%8E%AF%E5%A2%83/ 著作权归作者所有。 转载请联系作者获得授权。 序 题记:搞定了就是故事,搞不定就是事故。 条件有... 阅读详情

相关推荐

2025.06.17【WGS】|多样品VCF文件中每个样品SNP数统计方法详解(含代码与注释)

摘要:本文介绍了一种从合并后的VCF文件中统计每个样品SNP数目的方法。通过解析VCF文件中的GT字段,排除纯合参考(0/0)和缺失(./.)的基因型,准确计算各样本的SNP位点数。文中提供了完整的Python脚本,利用bcftools工具高效处理大规模VCF文件,并支持输出SNP统计结果。该方法适用于群体遗传学和RAD-seq等高通量测序数据分析的质控环节,还可扩展为统计杂合/纯合SNP等进阶需求。脚本使用简单,只需输入VCF文件即可生成样本-SNP数目的统计报表。

1698

在 CentOS 7 上一键安装 Docker

此外,在安装 Docker 前,您需要确保自己的计算机已经安装了适合版本的 Docker,也需要了解 Docker 的基本概念以及如何使用它来创建和管理容器。这样就可以在 CentOS 7 上一键安装 Docker 了。需要注意的是,如果您的系统已经安装过旧版本的 Docker,需要先将其卸载。5.启动 Docker 服务并配置开启自启动。2.安装 Docker 所需的依赖库和工具。6.验证 Docker 是否安装成功。3.添加 Docker 软件仓库源。4.安装 Docker。

软件质量保障的博客 942

从零构建XVC协议栈:FPGA+W5300的跨界调试架构实战

本文详细介绍了如何从零构建XVC协议栈,通过FPGA与W5300以太网控制器的创新组合实现跨界调试架构。重点解析了JTAG时序逆向、TCP/IP协议栈集成与XVC协议实现,提供了硬件设计优化和性能加速技术,为嵌入式开发者和FPGA工程师提供实用的远程调试解决方案。

raspberrypi5的博客 247

在内网部署docker工程总结

本次部署的内容主要包括:mysql,redis,nacos,java项目,前端项目,python项目。本次是将MySQL从win server 2019的虚拟机迁到Ubuntu linux上。在windows上执行备份:输入密码后,生成对应的备份文件。这里出现了乱码问题。确定了双方数据库的编码格式,对应表格式 都是utf8mb4chcp 65001但是最终导出的sql文件还是中文乱码,有机会再仔细研究一下。

qq_42740899的博客 2570

告别手动点鼠标:用Python脚本批量跑ADS版图仿真,效率提升10倍(附完整代码)

本文详细介绍了如何利用Python脚本自动化ADS版图仿真流程,显著提升射频工程师的工作效率。通过调用ADS底层接口,实现参数化修改、批量任务调度和结果自动收集,解决了手动操作中的常见问题,如仿真不更新等。附完整代码,帮助开发者快速实现10倍效率提升。

weixin_42523543的博客 331

控制障碍函数(Control Barrier Function,CBF) 一、定义

介绍控制障碍函数

Lyajpunov的博客 2万+

Centos7安装Docker

Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。Docker CE 分为stabletest和nightly三个更新频道。官方网站上有各种环境下的,这里主要介绍 Docker CE 在 CentOS上的安装。

qq_41289108的博客 648

【2026年米哈游春招 - 3月14日 -第一题- 行列相等】(题目+思路+Java&C++&Python解析+在线测试)

摘要 本文解决了一个矩阵行列和匹配问题:统计矩阵中行和等于列和的所有行列对数量。算法首先计算每行和每列的元素和,然后利用哈希表统计各行列和的出现次数。通过遍历列和并查询对应的行和出现次数,高效计算出匹配对数。该方法时间复杂度为O(nm),空间复杂度为O(n+m),适用于大规模矩阵数据。代码实现了Python、Java和C++版本,通过哈希表优化避免了暴力枚举,显著提高了计算效率。

m0_73659489的博客 83

centos7系统一键离线安装docker

输入 docker 命令查看即可。

zengliguang的专栏 523

12、无人机系统的建模与仿真

本文深入探讨了无人机系统的建模与仿真技术,涵盖其发展需求、历史演变、动力学建模方法、常用参考框架与状态变量表示,并分析了在控制系统设计、操作员培训和子系统测试中的关键应用。文章还介绍了不同类型无人机(固定翼、旋翼、混合翼)在建模与仿真中的差异,提出了多学科融合、高精度实时仿真及VR/AR技术等未来发展趋势,并给出了实际建模与仿真的标准操作流程,为无人机系统的设计与优化提供了全面的技术支持与展望。

websocket5live的博客 196

吊打原版YOLOv8!ASF-YOLO多尺度融合+注意力机制实战解析(遥感/医疗/质检均适用)

ASF-YOLO融合YOLOv8的创新目标检测框架摘要 ASF-YOLO是针对小目标检测优化的先进框架,采用三重特征编码器和尺度序列融合技术增强多尺度特征提取能力。核心创新包括: 三重特征编码器(TPE)融合跨层级信息 尺度序列特征融合(SSFF)模块通过3D卷积处理多尺度信息 通道-位置注意力机制(CPAM)聚焦关键特征区域 Zoom_cat模块实现自适应多尺度特征融合 该框架特别适用于医学影像、遥感检测等小目标密集场景,通过动态特征权重调整显著提升检测精度。关键技术实现包含多尺度特征统一、3D卷积序列处

FJN110的博客 527

CentOS系统安装Docker

在linux系统下docker容器的安装步骤

m0_69057918的博客 2342

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

一篇文章完成Centos7安装docker

博主最新再学习docker,分享一下安装的心得,同步会更新到优快云上 一、环境准备 虚拟机 1台 系统版本 CentOS Linux release 7.8.2003 (Core) 内核版本 5.16.2-1.el7.elrepo.x86_64 访问外网 放通 源 阿里源 卸载docker 参

做人如果没有梦想,那跟咸鱼有什么区别--周星驰 2万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

centos7内网环境下搭建Docker

内网搭建Docker步骤前言安装准备安装步骤centos6.5由于内核版本太低需要先升级内核请搜索网上教程,如果有兄弟需要小弟的yum安装包,已上传至百度云请自行下载 前言 这些日子单位需要在内网环境下部署Docker环境,由于是内网机自然没办法像外网机一样自由的安装,以下步骤记录了小弟的安装心得以及遇到的一些坑。 安装准备 由于单位服务器镜像只有centos6.5以及centos7,故小弟只介绍...

bigdogLIU的博客 2588

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

开源低代码平台-Microi吾码-一键安装使用(CentOS一键安装MySql+Redis+MinIO+MongoDB+Watchtower脚本)

有小伙伴提出他并不想在本地编译代码、打包镜像、上传镜像、安装服务器环境、安装docker容器等一系列繁琐的操作,见文章【开源低代码平台-Microi吾码-Docker部署因此博主编写了一键安装【mysql+redis+minio+mongodb+watchtower+低代码平台程序】脚本。

开源低代码平台-Microi吾码-框架C#.NET8 + Vue3 1万+

Docker之centos7环境离线安装

Docker是一个开源的应用容器引擎,可以让开发者将应用及其依赖打包在一个虚拟的容器中,方便地部署、移植、升级和管理。Docker可以运行在Linux、Windows和MacOS等操作系统上,并且可以在不同的平台之间进行交互和迁移。Docker的主要特点包括轻量级、快速、易于使用、可移植和可扩展等。Docker的生态系统非常丰富,有许多第三方工具和插件可以与之配合使用,如Docker Compose、Docker Swarm等。

月生的静心苑 1万+

CentOS下安装Docker(内网离线安装)

docker的默认路径是/var/lib/docker,但是有时候这个空间很小,我们需要把目录迁移到足够大的磁盘下。注意创建的目录,移动的目录及配置文件修改的目录。

渣 9377

Linux使用CentOS 7内核通过Docker容器安装Nextcloud All-in-One,使用内网穿透工具实现Nignx代理

Nextcloud All-in-One 是一个开源项目,旨在提供一个简单易用的方式来部署和管理 Nextcloud 服务。Nextcloud 是一个功能强大的自托管文件同步和共享解决方案,提供了包括文档编辑、日历、联系人管理等多种功能。All-in-One 版本通过容器化技术简化了部署过程,使得用户可以快速启动并运行 Nextcloud。

weixin_45819367的博客 4356

Centos7离线安装Docker

Centos7离线安装Docker 离线状态下docker安装小记:生产环境(minimal最小安装版)上需要部署docker,内网环境没有接入网络,需要离线安装docker,找了很多教程,有的根本不是离线状态,有的没有写出需要的依赖挂载,在此记录小结,避免日后再走弯路 将Centos7的iso镜像包(dvd完整版)上传到服务器,挂载镜像,制作yum源 mkdir -p /medi...

c851204293的博客 8948

内网CentOS7安装docker

CentOS 7.9安装docker 环境: 公司内网 centOS7.9 内核:3.10.0 docker官方要求内核版本>3.10 1、网络配置: 因为需要搭建集群环境,在三台电脑上配置网络访问代理 ip:代理ip port:代理端口 export http_proxy="{ip}:{port}" export https_proxy="{ip}:{port}" 2、yum代理配置也需要单独配置 vi /etc/yum.conf,添加内容: proxy=http://{ip}:{po

fengyu_lc的博客 763

CentOS使用Docker部署Halo并结合内网穿透实现公网访问本地博客

我们成功在本地部署了Halo,通过访问挂载的8089端口即可看到Halo首页界面,并创作了第一篇文章,如果我们想把创作好的个人博客发布至公网分享给身边人点击查看,那么就需要借助cpolar内网穿透工具了,接下来我们安装cpolar内网穿透工具,实现无公网环境远程访问!使用上面的Cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到Halo首页界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可发布到公网进行远程访问!

等风来 3872

AI一键搞定:CentOS7安装Docker全自动解决方案

最近在部署服务时频繁需要在CentOS7上安装Docker,手动操作既容易出错又耗时。于是研究了下如何用AI辅助开发自动化脚本,实现全流程一键安装。这里把我的实践过程记录下来,希望对有同样需求的朋友有所帮助。的AI辅助开发功能特别适合这类任务,不仅能快速生成基础脚本,还能根据错误提示实时调整代码。他们的在线编辑器也很方便,不用配置本地环境就能直接运行测试。对于需要长期运行Docker服务的场景,还可以使用平台的一键部署功能,把配置好的环境直接发布成在线服务,特别适合演示和测试。

MoonbeamRaven28的博客 587

CentOS离线安装最新版本Docker

一、背景 由于公司内部服务器只能连内网,即使建立局域网yum源,也无法使用yum在线安装Docker CE。 支持在线安装的朋友们,直接参考CentOS在线安装Docker官方文档即可:https://docs.docker.com/install/linux/docker-ce/centos/ 目前最新版本是v18.09.6。 二、准备工作 1、根据官方文档对CentOS的要求:需要是...

你不勇敢 没人替你坚强 1万+

centos7下docker二进制离线安装

问题描述:   内网离线环境下,安装docker.二进制来的还是快点,或者内网搭建yum的epel仓库! 环境:  centos7.x  docker-18.9.0 x86_64 static //二进制 解决方法: 1、download:   https://download.docker.com/linux/static/stable/x86_64/ 2、kernel ack [root@lab-210 ~]# uname -r //kerner3.10.+ cento...

Ch3nnn的博客 1218

Centos7 安装Docker(内网版本)

docker的另一种部署方式

qq_42694815的博客 925
上一篇: 一键清理Docker磁盘文件
下一篇: 新版本Jenkins(Version>2.357)兼容低版本JAVA项目部署
Jeff Dauglas
博客等级 码龄14年 1176粉丝 11原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值