本文介绍docker离线安装,适用场景:各种未联网的内网环境下离线安装docker;
准备工作:
虚拟机系统:Ubuntu 24.04 LTScat /etc/os_release # os发行版信息

1、下载二进制版docker(与内网系统环境相同的联网系统下载)
# 下载docker-28
curl -Lo docker-28.0.0.tgz https://download.docker.com/linux/static/stable/x86_64/docker-28.0.0.tgz

2、解压docker-28.0.0.tgz文件到指定目录(根据具体情况上传到内网环境呢)
tar zxvf /path/to/docker-28.0.0.tgz -C /path/to/ # 将/path/to修改为自己的路径
cp /path/to/docker/* /usr/bin/ # 将解压的文件复制到/usr/bin/目录下
docker -v # 查看版本
docker info # 查看信息

3、使用systemd管理docker服务
vi /usr/lib/systemd/system/docker.service # 编辑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 --default-ulimit nofile=65535:65535
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutStartSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Delegate=yes
KillMode=process[Install]
WantedBy=multi-user.target ##########################分割线上是文件内容###############################chmod u+x /usr/lib/systemd/system/docker.service # 添加执行权限
systemctl daemon-reload # 重载systemd守护进程
systemctl start docker.service # 启动docker服务
systemctl enable docker.service # 开机启动docker服务
4、导出导入镜像
docker save 99ae8bc3d4d5 > nginx.tar # 从在线机器上到处指定的镜像
docker load < nginx.tar # 在离线机器上导入镜像
docker tag 99ae8bc3d4d5 nginx:test # 为镜像指定标签