背景
由于项目的特殊性, 所有的服务器都只能访问内网, 以往使用 “ docker pull images ” 下载镜像的方式不可行了。只能另寻办法。 经过一番的查找, 发现 docker 提供了镜像“转换保存”的功能, 这么一来,就完美解决了 docker 无法联网下载的问题。
离线环境部署
其实联网部署和离线部署的步骤大同小异, 唯一的区别就是,离线安装没办法通过“ docker pull 镜像” 的方式获取到 .net core 6.0 运行所需要的环境(ASP.NET Core 6.0 运行时),所以我们只要解决了镜像问题, 那么离线部署的问题就解决了。而 docker 官方提供了Save 和 load 来实现镜像的导出和导入。 官方文档地址:docker save | Docker Documentation ,这里就不过多介绍了。
使用可以上网的电脑(服务器), 并且电脑(服务器)安装了Docker 环境
执行 “ docker pull mcr.microsoft.com/dotnet/aspnet:6.0” 命令下载镜像
执行 “docker save mcr.microsoft.com/dotnet/aspnet:6.0 > aspnet.tar ” 命令将镜像导出为静态文件
将静态文件复制/拷贝到内网服务器
登录到内网服务器上, 在内网服务器上执行 “docker load < aspnet.tar ” 命令将镜像加载到 docker 中。
通过上述的操作,.net core 6.0 的运行环境就已经安装完成了。下面就来讲 .net core 的程序部署起来。