这几天尝试在云服务器部署一个docker项目时发现因为网络原因无法成功拉取镜像,更换了国内加速镜像源后依然无效(如下图),而云服务器又无法更改网络环境,所以尝试了一种能在我的Windows主机中手动下载并上传后导入镜像的方法。

1、下载dget工具

附:gitee链接:dget
此工具是命令行工具,需要使用cmd/powershell等命令行工具运行
dget必需携带一个镜像名参数

另外,还可以携带-arch参数用于指定想要下载的架构,对于本例,刚好默认下载了所需的linux/amd64架构,因而没有携带-arch参数。

镜像下载完成后,会保存在dget.exe所在目录内的tmp_镜像名文件夹下,同时会直接生成一个压缩好的tar.gz包。
若下载失败,直接重复执行即可,该工具有下载缓存支持,不会全新下载。

下载完成后的效果:


2、将下载好的镜像上传至云服务器(以UI操作为例)

在云服务器中任选一处文件夹进入,上传dget工具生成的tar.gz包

在docker页面导入镜像(若要使用命令行操作,则使用docker load -i 镜像上传到的路径/镜像文件名 命令,如本文中应是docker load -i /www/wg-easy_latest-img.tar.gz)


如此即可完成镜像下载-上传-导入的操作。

附:也可以使用WSL2系统使用docker pull命令下载镜像,但对于之前没有部署过WSL系统的人来说此方法较为繁琐

Q.E.D.