docker- export&import 与save & load

相关资料如下,其他同学的总结已经十分到位,我就不复制粘贴了,十分感谢~~
https://jingsam.github.io/2017/08/26/docker-save-and-docker-export.html
https://blog.csdn.net/weixin_36343850/article/details/80553680

export & import

export:将容器导出为tar包,生成的是该容器的快照,复刻的是容器当前的linux系统环境
import:将tar包导入为镜像,即容器→tar包→镜像

save & load

save:将镜像导出为tar包,该命令也可以作用于容器,但导出的是容器背后的images。save导出的是分层文件系统,每一层文件系统有很多重复的数据,重复数据会覆盖,各层文件叠加起来就就成了镜像。
load:将tar包导出为镜像,即镜像(容器)→tar包→镜像

差异

save命令生成的tar包比export命令生成的tar包大很多
两组命令不可交叉互用

使用commit生成新镜像,保存docker上的gitlab数据

说到这里,必须关联一下docker数据持久化,很多人都说可以用commit命令,将当前的容器提交为新的镜像保存数据。但我将载有gitlab的容器(有本地挂载OR无本地挂载,run -v)使用commit命令,提交为新的镜像,镜像大小和普通的gitlab镜像无异,而该gitlab的备份数据可达4G,就是说没有将gitlab数据存在镜像中啊!!!
估计使用commit提交新镜像的办法对gitlab数据备份不适用???暂解决

使用export将容器导出为tar包,再import为镜像

虽然网上的教程都说export&import不能用于数据持久化,还是想试试哈哈(最后还是木有数据)。最后import为镜像,输入run命令后的时候,报错

docker: Error response from daemon: No command specified.

百度后解决了问题,感谢:https://blog.csdn.net/clj198606061111/article/details/50450793#
原来run命令后要跟COMMAND,具体的command要查询原导出的容器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容