当前位置:   article > 正文

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

docker image as shared volume
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的几率。

转载于:https://my.oschina.net/crxy/blog/410938

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/628972
推荐阅读
相关标签
  

闽ICP备14008679号