八种Docker容器开发模式---The Shared Volume Dev Container
2015-05-05 16:59
429 查看
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容器开发模式解析
- 八种Docker容器开发模式
- 经验之谈:八种Docker容器开发模式
- data-packed volume container - 每天5分钟玩转 Docker 容器技术(43)
- data-packed volume container - 每天5分钟玩转 Docker 容器技术(43)
- IoC容器和 Dependency Injection模式 Inversion of Control Containers and the Dependency Injection pattern
- data-packed volume container - 每天5分钟玩转 Docker 容器技术(43)
- data-packed volume container - 每天5分钟玩转 Docker 容器技术(43)
- 安装安卓开发工具NDK时出现 failed to load the jni shared library "E:\Program Files\java\jdk1.7.0_15\bin..\jre\bi
- Docker —— 用于统一开发和部署的轻量级 Linux 容器
- 深入研究 STL Deque 容器-An In-Depth Study of the STL Deque Container (By Nitron)
- 容器,Docker和Azure Container Service
- 解决Android开发中在调试模式下运行一个程序后出现Application (xxx) is waiting for the debugger to attach
- Docker容器使用/dev/mem与HOST端映射同一段物理内存
- 【转】Docker Volume 之权限管理-Docker运行gogs容器时使用-v参数映射本地目录-报权限错误的原因及解决办法
- 利用Volume在主机和Docker容器文件传输。
- volume 生命周期管理 - 每天5分钟玩转 Docker 容器技术(44)
- 多主机网络下 Docker Swarm 模式的容器管理
- [Docker] - 理解镜像和容器 - Understanding images&container
- [Docker] 容器开发环境最佳实践理论