在有网络的环境中准备离线安装包
可以浏览器访问Docker下载目录进行下载(各个目录对应版本关系):
也可以通过命令行方式(以下是在 Ubuntu 20.04 LTS(Focal Fossa) 上离线安装 Docker 的详细步骤:):
安装工具并创建目录
sudo apt update
sudo apt install -y apt-rdepends wget
mkdir -p /opt/docker-offline
cd /opt/docker-offline
下载 Docker CE 的核心包(适配 Ubuntu 20.04)
wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-ce_24.0.7-1~ubuntu.20.04~focal_amd64.deb
wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-ce-cli_24.0.7-1~ubuntu.20.04~focal_amd64.deb
wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/containerd.io_1.6.9-1_amd64.deb
wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-buildx-plugin_0.10.4-1~ubuntu.20.04~focal_amd64.deb
wget https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/docker-compose-plugin_2.18.1-1~ubuntu.20.04~focal_amd64.deb
下载时遇到“无法建立 SSL 连接”:
1.检查系统时间和时区
# 查看当前系统时间
date# 若时间错误,手动校准(需 root 权限):
sudo date -s "2023-10-05 15:00:00"# 或同步网络时间(需联网,离线环境需跳过):
sudo apt install ntpdate
sudo ntpdate pool.ntp.org
2.更新 CA 证书,证书链过期或缺失会导致 SSL 验证失败
# 更新 CA 证书包
sudo apt-get install --reinstall ca-certificates# 更新本地证书库
sudo update-ca-certificates
下载所有依赖包
# 生成依赖列表(排除虚拟包)
apt-rdepends docker-ce | grep -v "^ " | grep -v "debconf-2.0" | sed 's/debconf-2.0/debconf/g' > deps.txt# 下载所有依赖项到当前目录
cat deps.txt | xargs sudo apt-get download
打包所有文件
tar -czvf docker-offline.tar.gz *.deb
最终文件如下:
如果文件名包含特殊字符%3a:
# 重命名问题文件(确保文件名符合实际)
sudo mv 'libcrypt1_1%3a4.4.10-10ubuntu4_amd64.deb' 'libcrypt1_1:4.4.10-10ubuntu4_amd64.deb'
Docker 24.0.x:通常依赖 containerd.io >= 1.6.9,推荐 containerd.io 1.6.9 或更高版本(如 1.7.x)。
Docker 23.0.x:通常依赖 containerd.io 1.6.x
在离线机器上安装 Docker
传输离线包
scp /opt/docker-offline/docker-offline.tar.gz zhwubuntu2@10.0.1.130:/opt/docker-offline
进入离线机器docker-offline目录
#解压离线包
tar -xzvf docker-offline.tar.gz
#安装所有 .deb 包
root@zhwubuntu2-virtual-machine:/opt/docker-offline# sudo dpkg -i *.deb
#启动服务并设置开机自启
sudo systemctl enable docker
sudo systemctl start docker