V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pertersonvv
V2EX  ›  Docker

docker 如果涉及数据操作,每次运行后都必须 commit 一下,是不是太麻烦了?

  •  
  •   pertersonvv · 2014-12-29 12:36:19 +08:00 · 3964 次点击
    这是一个创建于 3624 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这么麻烦的东西,为何还有人用呢?

    只touch了一个文本,就要占用300K空间,docker是不是太费硬盘了呢?

    每次运行生成一个image,是不是太搞了?是类似于版本系统的东西么?

    6 条回复    2015-02-08 21:51:23 +08:00
    rebornix
        1
    rebornix  
       2014-12-29 12:42:45 +08:00
    数据为啥不放在volume里呢
    pertersonvv
        2
    pertersonvv  
    OP
       2014-12-29 12:44:18 +08:00
    @rebornix 如果下载的是ubuntu镜像,每次apt-get install程序之后,是否都要commit一下呢?
    9hills
        3
    9hills  
       2014-12-29 13:25:29 +08:00
    image间是增量存储啊,不怎么占硬盘。

    话说生产环境 daily build 就已经很激进了,每天build一次很难么
    lightening
        4
    lightening  
       2014-12-29 16:30:31 +08:00
    @pertersonvv 是,然后你每天部署不要部署到 Docker 里去。如果你没有理解 Docker 为什么好,那说明你不需要这些特性,Docker 不适合你的需求。
    rebornix
        5
    rebornix  
       2014-12-29 16:33:17 +08:00
    @pertersonvv 你可以参考这篇文章 http://stackoverflow.com/questions/24394243/why-are-docker-container-images-so-large,就知道为何仅仅增加一个package,size就会变化比较大;另外还有如何减小image size。

    每次commit只是增加一个layer,一个image就是多个layer的组合,这一点类似于版本管理。
    zhangv
        6
    zhangv  
       2015-02-08 21:51:23 +08:00
    如果涉及到纯数据操作,其实最终都是落到文件系统的变动,这个可以用volumn - 就是把image里的文件夹映射到host里的文件夹,而不是在image里频繁修改。
    image里保留的只是配置信息,就是一个“壳”
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2783 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 12:46 · PVG 20:46 · LAX 04:46 · JFK 07:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.