需求:部署的Windows电脑(x86_64)是内网,所以需要提前在有网的Windows电脑(x86_64)上下载Nginx镜像,然后内网电脑加载镜像后即可运行Vue项目。

Windows 主流架构:x86_64(AMD64) 和 ARM64;
Linux 主流架构:x86_64(AMD64) 和 ARM64(AArch64)。

一、查看容器Containers与Images镜像

1、容器Containers

注意:当前nginx 容器目前还处于运行状态,Docker 不允许直接删除正在运行的容器,必须先停止容器。

# 第一步:停止运行中的 nginx 容器
docker stop nginx

# 第二步:删除已停止的容器
docker rm nginx

在这里插入图片描述

2、Images镜像

镜像正在被某个容器使用,必须先删除使用它的容器才能继续删除镜像。
注意:删镜像前先把相关容器删除。
在这里插入图片描述

3、清空Nginx相关容器与镜像

在这里插入图片描述
在这里插入图片描述

二、拉取Nginx最新版本镜像

1、运行nginx容器

在这里插入图片描述
在这里插入图片描述

docker run -d --name nginx -p 8085:85 -v "E:/test/dist:/usr/share/nginx/html/dist" -v "E:/test/nginx.conf:/etc/nginx/conf.d/default.conf" nginx

因为现在docker里没有Nginx容器所以会自动下载最新版本的Nginx镜像然后运行该容器。
在这里插入图片描述

步骤 1:自动拉取 nginx 镜像

因为本地没有 nginx 镜像,Docker 会先从官方仓库(Docker Hub)下载 nginx:latest 镜像(默认拉取 latest 标签),终端会显示下载进度:
在这里插入图片描述

步骤 2:创建并启动 nginx 容器

镜像下载完成后,Docker 会按照你指定的参数创建并启动容器:
–name nginx:给容器命名为 nginx(这也是为什么第一步删不存在的容器报错不影响 —— 这里会新建);
-p 8085:85:将主机 8085 端口映射到容器 85 端口;
-v “E:/test/dist:/usr/share/nginx/html/dist”:将主机 E:/test/dist 目录挂载到容器内指定路径;
-v “E:/test/nginx.conf:/etc/nginx/conf.d/default.conf”:将主机的 nginx.conf 配置文件挂载为容器的默认配置;
-d:后台运行容器。
在这里插入图片描述

2、下载镜像

①方法1

# 导出 nginx 镜像为本地文件(比如保存到 E盘)
docker save -o E:\nginx-image.tar nginx:latest

在这里插入图片描述
在这里插入图片描述

②方法2
在这里插入图片描述

三、离线部署

1、加载镜像

把之前下载的Nginx镜像拷贝到离线的Windows电脑上,运行命令:

docker load -i E:\nginx-image.tar

可以看到Nginx镜像已经成功加载进来了。
在这里插入图片描述

2、运行Nginx容器

在这里插入图片描述
可以看见,Nginx容器成功启动了,现在可以打开浏览器,访问 http://localhost:8085。
在这里插入图片描述

3、补充说明

Nginx版本其实是Linux x86 架构的,但是Nginx 也能在 Windows x86 上离线运行镜像。
Docker之Windows与Linux不同架构部署理解

更多推荐