美文网首页
docker- export&import 与save & lo

docker- export&import 与save & lo

作者: 别人家的大小姐 | 来源:发表于2019-01-24 18:10 被阅读0次

    相关资料如下,其他同学的总结已经十分到位,我就不复制粘贴了,十分感谢~~
    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要查询原导出的容器

    相关文章

      网友评论

          本文标题:docker- export&import 与save & lo

          本文链接:https://www.haomeiwen.com/subject/aesujqtx.html