情况:
首先我现在有两个阿里云服务器,一个服务器拥有公网ip,一个服务器只有内网ip,现在要求在内网的服务器上下载镜像,但是因为内网的原因,无法直接从外网下载镜像,配置了阿里云镜像也不行,但是在内网是能够ping通阿里云镜像的,有可能是某些配置不对导致的,在网上找了很多办法都没效果
解决方案:
现在我么转变思路,镜像也是一个文件,我们并不一定要在内网进行下载,我们可以将文件下载之后,再将文件上传到内网服务器上,然后将文件加载为镜像!思路成立开始实现!
首先,在具有公网的服务器上下载镜像
docker pull mysql:8.0
然后将该镜像加载为tar包
docker save -o mysql mysql:8.0
开始进行传输
我这里使用的是scp的方式,也有其他方式可以进行文件传输,甚至你可以先将文件下载到本地,然后在通过阿里云的控制台进入内网服务器,将文件上传上去
scp mysql.tar 用户名@内网ip:/mysql.tar
传输完成
进入内网服务器查看,已经接收到文件了
ok,成功百分之九十九了,最后一步,加载为镜像
docker load -i mysql.tar
好了,镜像加载完成,问题解决
总结:
虽然这个方法比直接下载镜像多了几个步骤,稍微麻烦了点,但是能够避免修改很多不知道是啥的配置(绝对不是我不知道怎么配置),也不失为一个好的解决方案(bushi)