我们之前学过将运行中的容器提交为镜像,但是这些镜像并不是都可以推送到 hub 服务器(好比一些有机密性的文件或项目),那我们如何将这些镜像拿到其他的机器上使用呢?
这里就用到了 docker 的镜像备份与迁移。
一、docker 镜像备份
命令:docker save 参数... 要备份的镜像:版本
参数其实就一个 -o,意思就是输出到的文件,然后后面就是跟着文件的名称。
测试的话,大家自己先去 commit 一个自定义镜像~
然后我们进入到 /home 目录下~,接着运行命令:docker save -o lemon1234_tomcat.tar lemon1234_tomcat:1.0.0
接着我们就可以在 /home 目录下看到一个 tar 文件,这样的话我们镜像备份就完成了。
!!!这里要说的是,命令中 “要备份的镜像:版本” 可以换成镜像id,但是,不建议这样去做,原因我们会在还原的时候说。
二、docker 镜像还原
还原前,我们先将该镜像删除了。
删除之后,我们来进行还原~
命令:docker load 参数...
参数有两个:-i 指定导入的文件;-q 精简输出信息。
这里我们用命令:docker load -i lemon1234_tomcat.tar
可以看到,镜像已经恢复好了。
接着,我们来说一下上面备份的那个问题。
如果你当时使用的是镜像 id 进行备份,也是可以
这是我挡水测试的时候,我就用的镜像 id,这个也在 /home 文件夹下面得到了 lemon1234_tomcat.tar 文件,接着进行还原。
可以看到,repository 和 tar 都是 none,所以我不建议使用镜像 id 是有原因的。
这一讲就讲到这里,有问题可以联系我:QQ 2100363119,欢迎大家访问我的个人网站:https://www.lemon1234.com