【Linux】Docker:离线主机部署
在网络环境下准备 Docker
下载 Docker 安装包:
- 在另一台有网络连接的计算机上,访问 Docker 官方下载页面。
- 选择并下载适合您系统的 Docker 版本,通常是最新的稳定版本,例如
docker-<version>.tgz
。
传输文件:
- 使用 USB 驱动器或其他方式将下载的
.tgz
文件传输到离线的 Ubuntu 主机上。
在离线主机上安装 Docker
解压 Docker 安装包:
-
在终端中,导航到存放
.tgz
文件的目录,并运行以下命令:tar xzvf docker-<version>.tgz
移动 Docker 二进制文件:
-
将解压后的 Docker 二进制文件移动到系统的可执行路径中:
sudo mv docker/* /usr/bin/
创建 systemd 服务文件:
-
创建 Docker 的 systemd 服务文件,运行以下命令:
sudo vi /etc/systemd/system/docker.service
-
在文件中添加以下内容:
[Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network.target [Service] ExecStart=/usr/bin/dockerd ExecReload=/bin/kill -s HUP $MAINPID Restart=always Type=notify TimeoutSec=60 LimitNOFILE=1048576 LimitNPROC=512 [Install] WantedBy=multi-user.target
重新加载 systemd 配置:
-
运行以下命令以重新加载 systemd 配置,使其识别新的服务文件:
sudo systemctl daemon-reload
启动 Docker 服务:
-
使用以下命令启动 Docker 服务:
sudo systemctl start docker
设置 Docker 服务开机自启:
-
使用以下命令设置 Docker 服务在系统启动时自动启动:
sudo systemctl enable docker
验证 Docker 是否安装成功:
-
运行以下命令确认 Docker 安装成功:
sudo docker --version
从 Docker 镜像打包
在有网络的计算机上拉取所需 Docker 镜像:
-
使用以下命令从 Docker Hub 拉取需要的镜像:
docker pull <image-name>
保存 Docker 镜像为 tar 文件:
-
使用
docker save
命令将镜像保存为 tar 文件:docker save -o <image-name>.tar <image-name>
传输镜像文件:
- 将生成的
<image-name>.tar
文件转移到离线的 Ubuntu 主机。
从 Docker 容器打包
将当前容器打包:
-
停止容器(如果需要):
sudo docker stop <container-name>
-
使用
docker commit
命令将容器打包为镜像(可选):
sudo docker commit <container-name> <new-image-name>
-
将打包后的镜像保存为 tar 文件:
sudo docker save -o <new-image-name>.tar <new-image-name>
在离线主机上加载 Docker 镜像
加载镜像:
-
在离线主机上,运行以下命令加载镜像:
docker load -i <image-name>.tar
验证镜像是否加载成功:
-
使用以下命令查看已加载的镜像:
docker images
运行容器
启动容器:
-
使用以下命令启动 Docker 容器:
docker run -it <image-name>