如果服务器网络不好或者pull不下来镜像,只能在其它网络比较好的机器上pull下来镜像,导出成一个文件,再下载上传到网络不好的机器上,然后再从文件中导出来,这样在网络不好的机器上也能使用docker镜像了。
首先使用 docker images 查看本机镜像,找到他的镜像id,导入/导出方式有两种方式,两种方式不可以混用,否则虽然导入不提示错误,但是启动容器时会提示失败,存在导入的镜像环境变量丢失等问题,如图所示:
1、方法一(推荐)
我们可以使用 save 和 load 命令,通过镜像id导出镜像到宿主机,命令如下:
docker save -o coredns.tar k8s.gcr.io/coredns:1.3.1
然后将导出的镜像文件上传到网络不好的主机上,执行以下命令进行镜像导入,命令如下:
$ docker load < coredns.tar
2、方法二
我们还可以使用 export 和 import 命令,进行导入/导出操作,导出命令如下:
$ docker export eb516548c180 > coredns.tar
复制
我们将上述 coredns.tar.gz 镜像在另一个网络不好的节点进行导入,命令如下(二者选其一即可):
$ docker import /usr/local/coredns.tar $ cat coredns.tar | docker import - k8s.gcr.io/coredns:1.3.1(镜像名自己定义)
然后执行以下命令查看是否导入成功,命令如下:
$ docker images
导入成功之后的节点镜像列表,如图所示:
到此 Docker 导出/导入镜像介绍完成。
原文链接:https://blog.csdn.net/weixin_42857718/article/details/131192738?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171836840916800222838180%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171836840916800222838180&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-8-131192738-null-null.nonecase&utm_term=docker%E3%80%81%E5%A5%BD%E7%94%A8