码迷,mamicode.com
首页 > 其他好文 > 详细

八种Docker容器开发模式---The Shared Volume Dev Container

时间:2015-05-05 20:02:53      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

The Shared Volume Dev Container 
我所有的dev容器与宿主机分享至少一个volume: / home,这是为了便于开发。对于许多app,在开发模式中,使用基于file-system-change的code-reloader运行,这样一来容器
内封装了OS / distro-level的依赖,并在初始环境中帮助验证app-as-bundled工作,而不需要让我每次在代码改变时重启/重建VM。 
至于其他,我只需要重启(而不是重建)容器来应对代码的更改。 
对于test/staging和production容器,大多数情况下不通过volume共享代码,转而使用“ADD”来增添代码到Docker容器中。 
这是我的“homepage”的dev容器的Dockerfile,例如,包含我的个人wiki,存在于“devbase”容器中的 /home下,以下展示了如何使用共享的base容器和/home卷: 
    FROM vidarh/devbase 
    WORKDIR /home/vidarh/src/repos/homepage     ENTRYPOINT bin/homepage web 
以下是dev-version的博客: 
    FROM vidarh/devbase      
    WORKDIR /     USER root      
    # For Graphivz integration     RUN apt-get update 
    RUN apt-get -y install graphviz xsltproc imagemagick      
    USER vidarh 
    WORKDIR /home/vidarh/src/repos/hokstad-com 
   ENTRYPOINT bundle exec rackup -p 8080 
因为他们从一个共享的库中取代码,并且基于一个共享的base容器,这些容器通常当我添加/修改/删除依赖项时会极其迅速重建。 
即便如此也有一些地方是我非常愿意改善,尽管上面的base是轻量级的,他们大多数在这些容器仍未使用。由于Docker使用copy-on-write覆盖,这不会导致一个巨大的开销,但它仍然意味着我没有做到最小的资源消耗,或者说最小化attack或error的几率。

八种Docker容器开发模式---The Shared Volume Dev Container

标签:

原文地址:http://my.oschina.net/crxy/blog/410938

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!