1 下载docker静态二进制存档
要根据硬件平台下载以免造成不兼容
https://download.docker.com/linux/static/stable/x86_64/docker-20.10.7.tgz
本文中演示下载版本为x86 docker-20.10.7.tgz
2 将下载好的文件上传到服务器
解压 tar -zxvf docker-20.10.7.tgz
3 将二进制文件移到可执行文件目录下
4 配置docker.service
vim /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
5 启动dockerd服务
[root@localhost opt]# systemctl daemon-reload
[root@localhost opt]# systemctl start docker.service
[root@localhost opt]# docker info
将docker设置为开机自启动
systemctl enable docker
6 使用有网服务器生成镜像并导入内网docker环境
此处以Nginx为例
拉取镜像 docker pull nginx
将镜像打包 docker save nginx:latest > nginx.tar
将该镜像上传到所需要安装的服务器中并导入该镜像
docker load nginx.tar
此处执行命令时发生了如下错误
Error processing tar file(exit status 1): archive/tar: invalid tar header
此处的原因是我使用window的docker(WSL2 内核)进行生成的镜像与我的内网机器CentOS7不兼容。
换成centos中docker生成nginx镜像后重新导入解决该异常。
启动镜像运行容器测试