一、简介
无网络环境,部署 Docker 镜像,这通常适用于一些部署环境是脱离网络的公司,或者公司内部有着严格的网络安全要求。且还是 Docker 部署的程序,这个时候怎么办,别急今天就来讲讲,无网络环境,如何部署 Docker 镜像。
二、准备
这里准备两台服务器,Server A 是原镜像服务器,Server B 需要部署 Applicatio 的服务器
Server |
IP |
System |
A |
192.168.88.130 |
CentOS 7 |
B |
192.168.88.131 |
CentOS 7 |
三、Server A
这里使用 Nginx 模拟应用程序,在工作场景中也是对镜像进行操作,所以无差异
3.1 原镜像
在 Server A 使用 docker pull nginx:1.21.6 拉取镜像到本地,然后可以使用 docker images 进行查看
3.2 导出镜像
导出镜像,用到的是 docker save 命令,将指定镜像保存成 tar 文件,语法如下
docker save [OPTIONS] IMAGE [IMAGE...]
案例:这里以 nginx:1.21.6 镜像为例,将镜像 nginx:1.21.6 导出为 nginx-1.21.6.tar 文件
docker save -o nginx-1.21.6.tar nginx:1.21.6
四、Server B
4.1 tar 镜像文件
将 Server A 上的 nginx-1.21.6.tar 放到 Server B 上(方式根据实际来),这里放置的是 /var/local/ 目录下。如下:
4.2 导入镜像
导入镜像,用到的是 docker load 命令,将指定镜像的 tar 文件,导入到 docker 中,语法如下
docker load [OPTIONS]
案例:这里导入上面生成的 nginx-1.21.6.tar 镜像文件,然后可以使用 docker images 看到导入的 nginx:1.21.6 镜像
docker load -i nginx-1.21.6.tar
在导入之前可以,使用 docker images 命令,看下现有镜像
4.3 启动容器
导入镜像后,可以启动一下,看下是否是成功的,执行下面命令即可启动 nginx
docker run --name nginx-test -p 10000:80 -d nginx:1.21.6
访问,http://192.168.88.131:10000/