Docker

一、简介

无网络环境,部署 Docker 镜像,这通常适用于一些部署环境是脱离网络的公司,或者公司内部有着严格的网络安全要求。且还是 Docker 部署的程序,这个时候怎么办,来看看无网络环境如何部署 Docker 镜像。

二、准备

这里准备两台服务器,Server A 是原镜像服务器,Server B 需要部署 Applicatio 的服务器

无网络环境部署Docker镜像 - 图1

三、Server A

这里使用 Nginx 模拟应用程序,在工作场景中也是对镜像进行操作,所以无差异

3.1 原镜像

在 Server A 使用 <font style="color:rgb(60, 112, 198);">docker pull nginx:1.21.6</font> 拉取镜像到本地,然后可以使用 <font style="color:rgb(60, 112, 198);">docker images</font> 进行查看

无网络环境部署Docker镜像 - 图2

3.2 导出镜像

导出镜像,用到的是 <font style="color:rgb(60, 112, 198);">docker save</font> 命令,将指定镜像保存成 tar 文件,语法如下
  1. docker save [OPTIONS] IMAGE [IMAGE...]
案例:这里以 nginx:1.21.6 镜像为例,将镜像 nginx:1.21.6 导出为 nginx-1.21.6.tar 文件
  1. docker save -o nginx-1.21.6.tar nginx:1.21.6

无网络环境部署Docker镜像 - 图3

四、Server B

4.1 tar 镜像文件

将 Server A 上的 nginx-1.21.6.tar 放到 Server B 上(方式根据实际来),这里放置的是 /var/local/ 目录下。如下:

无网络环境部署Docker镜像 - 图4

4.2 导入镜像

导入镜像,用到的是 <font style="color:rgb(74, 74, 74);">docker load</font> 命令,将指定镜像的 tar 文件,导入到 docker 中,语法如下
  1. docker load [OPTIONS]
案例:这里导入上面生成的 nginx-1.21.6.tar 镜像文件,然后可以使用 docker images 看到导入的 nginx:1.21.6 镜像
  1. docker load -i nginx-1.21.6.tar

无网络环境部署Docker镜像 - 图5

在导入之前可以,使用 <font style="color:rgb(60, 112, 198);">docker images</font> 命令,看下现有镜像

无网络环境部署Docker镜像 - 图6

4.3 启动容器

导入镜像后,可以启动一下,看下是否是成功的,执行下面命令即可启动 nginx
  1. docker run --name nginx-test -p 10000:80 -d nginx:1.21.6

无网络环境部署Docker镜像 - 图7访问,http://192.168.88.131:10000/

无网络环境部署Docker镜像 - 图8