docker 打包本地镜像,并到其他机器进行恢复操作
1、使用docker images查看本机所有的镜像文件
2、docker save eb40dcf64078> /root/mydjango-save-1016.tar 将镜像保存为本地文件,其中eb40dcf64078为image id
3、将保存到本地的文件上传到不能pull的服务器上,网络是相通的我这里直接使用的是scp命令
4、使用load方法加载刚才上传的tar文件
docker load < /root/mydjango-save-1016.tar
5、在新的机器上再此使用docker images命令查看本机的镜像,检查刚才load的镜像有没有加载进来,发现加载进来的镜像名称、标签均为none,使用docker tag eb40dcf64078 django:latest 修改为原来的镜像名称和标签名称,其中eb40dcf64078 为images id
6、使用docker run -itd django:latest加载进行,验证镜像是否能够成功的“run”
补充知识:docker镜像导入导出,镜像的重命名.可用于离线部署docker应用
导出镜像
docker images查看镜像id和名字
使用imageId导出(不推荐)
docker save -o fileName.tar imageId
不过我发现一个问题就是使用imageId导出来的镜像,在导入的时候仓库和名字都是none.但是当使用镜像名字导出后再导入就不过出现none了.
出现这样错误的原因是在docker load 的时候会将同名image覆盖,并将原有镜像重命名,也就出现了上图所示问题。
重命名镜像的方法:
docker tag [镜像id] [新镜像名称]:[新镜像标签]
demo
docker tag 6982b35ff928 zookeeper
使用imageName导出(推荐)
docker save -o ./fileName.tar imageName
demo
docker save -o ./portainer.tar portainer/portainer
导入镜像
docker load -i < ./fileName.tar
demo
以上这篇docker 打包本地镜像,并到其他机器进行恢复操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
下一篇:解决Docker启动Elasticsearch7.x报错的问题