生产环境:CentOS 7 Docker 20.10.19离线部署(为离线部署k8s做准备)

背景描述:离线部署Docker环境

在现代IT基础设施中,Docker已经成为应用容器化的标准工具。它简化了应用程序的部署和管理,使开发者和运维工程师能够以更高的效率和一致性进行工作。然而,在某些场景下,由于安全性、网络隔离或企业政策等原因,无法直接访问互联网。这种情况下,需要在离线环境中部署Docker。

需求分析
  1. 网络隔离: 某些企业或组织出于安全考虑,要求其服务器和工作环境完全与外部互联网隔离。这种情况下,所有的软件安装、更新以及依赖的获取都必须通过离线的方式进行。

  2. 安全策略: 由于数据安全和保密需求,某些机构(如金融机构、政府部门)要求系统不能直接访问外部网络,以防止数据泄露和网络攻击。

  3. 带宽限制: 某些地理位置或环境下,网络带宽有限或不稳定,这使得直接从互联网下载所需资源变得不可行。因此,需要提前下载好所有需要的组件,并在离线环境中进行部署。

部署需求
  1. Docker安装包: 获取Docker的离线安装包,包括Docker Engine和Docker CLI等组件。这些安装包需要在有网络访问的机器上提前下载。

  2. 依赖包及其版本管理: 所有与Docker相关的依赖包及其特定版本需要提前下载,并确保在离线环境中兼容。

  3. 容器镜像: 离线环境中需要运行的容器镜像必须提前拉取并保存。这些镜像可以存储在便携式存储设备(如U盘、硬盘)上,并在离线环境中加载。

  4. 部署工具: 为了简化离线环境下的部署流程,可能需要使用一些辅助工具(如Docker Compose)进行批量部署和管理。

###########################

理论都懂,话不多讲全是干货!!

相关安装包下载(夸克网盘“新增k8s与网络插件离线镜像”):夸克网盘分享夸克网盘是夸克推出的一款云服务产品,功能包括云存储、高清看剧、文件在线解压、PDF一键转换等。通过夸克网盘可随时随地管理和使用照片、文档、手机资料,目前支持Android、iOS、PC、iPad。icon-default.png?t=N7T8https://pan.quark.cn/s/62729c0574ef#/list/share

一、服务器初始化

#部署前一定要初始化
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config  # 永久
setenforce 0  # 临时

# 关闭swap
swapoff -a  # 临时
sed -ri 's/.*swap.*/#&/' /etc/fstab    # 永久
# 根据规划设置主机名
hostnamectl set-hostname <hostname>
# 在master添加hosts
cat >> /etc/hosts << EOF
192.168.1.71 k8s-master
192.168.1.72 k8s-node1
192.168.1.73 k8s-node2
EOF
# 将桥接的IPv4流量传递到iptables的链
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
EOF
sysctl --system  # 生效

# 时间同步
yum install ntpdate -y
ntpdate time.windows.com

#主机重命名
hostnamectl set-hostname k8s-master
hostnamectl set-hostname k8s-node1
hostnamectl set-hostname k8s-node2
#执行bash使主机名生效,节省重新登录,更没必要重启
bash

二、docker离线部署

#docker离线部署 都加了强制安装,这样避免了依赖包的影响
rpm -ivh containerd.io-1.6.20-3.1.el7.x86_64.rpm --nodeps --force
rpm -ivh container-selinux-2.107-3.el7.noarch.rpm --nodeps --force
rpm -ivh docker-ce-20.10.19-3.el7.x86_64.rpm --nodeps --force
rpm -ivh docker-ce-cli-20.10.19-3.el7.x86_64.rpm --nodeps --force
rpm -ivh docker-ce-rootless-extras-20.10.19-3.el7.x86_64.rpm --nodeps --force
rpm -ivh docker-scan-plugin-0.21.0-3.el7.x86_64.rpm --nodeps --force
rpm -ivh cri-dockerd-0.3.2-3.el7.x86_64.rpm  --nodeps --force

#注意编辑相关文件添加一下配置
vi /usr/lib/systemd/system/cri-docker.service

ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.9

#加载系统启动项
systemctl daemon-reload 
systemctl enable cri-docker && systemctl start cri-docker

三、docker配置修改宇启动


# 将 docker-compose 文件复制到 /usr/local/bin/ 目录下,并重命名为 docker-compose

cp docker-compose  /usr/local/bin/docker-compose

# 设置 docker-compose 文件权限

chmod +x /usr/local/bin/docker-compose

# 将 docker.service 移到 /etc/systemd/system/ 目录(文件都是编辑好的直接移动到指定目录)

cp docker.service /etc/systemd/system/

cat  /etc/systemd/system/docker.service

# 设置 docker.service 文件权限

chmod +x /etc/systemd/system/docker.service

#创建相关的目录

mkdir -p /etc/docker

#可以定义自己的私有harbor仓库,没有的话可以把此配置删除"insecure-registries": ["https://harbor.yourharbor.com"]


sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "live-restore": true,
    "oom-score-adjust": -1000,
    "log-driver": "json-file",
    "log-opts": {
    "max-size": "100m",
    "max-file": "3"
    },
    "max-concurrent-downloads": 10,
    "max-concurrent-uploads": 10,
    "bip": "172.22.1.1/24",
    "data-root": "/home/vdc/docker",
    "registry-mirrors": ["https://7bezldxe.mirror.aliyuncs.com"],
    "insecure-registries": ["https://harbor.yourharbor.com"], 
    "storage-driver": "overlay2",
    "storage-opts": [
    "overlay2.override_kernel_check=true"],
    "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

# 重新加载配置文件

systemctl daemon-reload

# 启动docker
systemctl start docker
# 设置 docker 开机自启
systemctl enable docker.service
systemctl status docker

#验证安装情况
#查看docker版本
docker -v
#Docker version 20.10.7, build f0df350

查看docker-compose版本
docker-compose -v
#Docker Compose version v2.17.2

提供的离线安装包里包含了二进制的tar包,可以使用以下命令安装:

#版本都是docker-20.10.19

tar -zxvf docker-20.10.19.tgz

cp docker/* /usr/bin/

#完事继续按照上文步骤继续执行就好

文章到此结束。本人也不是什么大佬,有问题随时欢迎各位老师私信交流,指导~

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以按照以下步骤在CentOS 7上安装Docker 20.10.22: 1. 首先,下载Docker压缩文件并解压: ``` unzip docker.zip ``` 2. 进入解压后的目录: ``` cd /docker ``` 3. 执行安装脚本进行安装: ``` sh install.sh ``` 4. 安装完成后,您可以验证Docker的版本: ``` docker -v docker-compose -v ``` 如果您需要更详细的安装方法,可以参考这篇文章:<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [docker20.10.21一键部署centos](https://download.csdn.net/download/qq_33450107/87410460)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [docker-ce-20.10.14-3.el7.x86_64的centos7.x离线安装包](https://download.csdn.net/download/weixin_37561180/85208776)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [centos httpd安装使用方法,包含替换文件](https://download.csdn.net/download/Axugo/88217553)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值