八种Docker 容器开发模式 Docker 现在成了我最喜欢的工具,在本文中,我将概述一些在我使用Docker 过程中反复出现的模式
我不期待它们能给你带来多少惊喜,但我希望这些能对你有用,我非常愿意与你交流在使用Docker 过程中碰到的模式
我所有 Docker 实验的基础是保持 volume 状态不变,以便 Docker 容器在没有数据丢失的前提下任意重构
下面所有的Dockerfiles 例子都集中在:创建容器在其本身可以随时更换的地方,而无需考虑其它
The Shared Base Container(s) Docker 鼓励“继承” ,这应用也很自然——这是高效使用Docker 的一个基本方式,不仅由于它有助于减少建立新容器的时间,Docker 优点多多,它会 cache 中间步骤,但也容易在不明确的情况下,失去分享机会
很显然,在将我的各种容器迁移到 Docker 上时,首先要面对的是多个步骤
对于多数想要随处部署的项目来说所,要创建多个容器,尤其是在这个项目需要长进程,或者需要特定包的情况,所以我要运行的容器也变得越来越多
重要的是为了让 mybase 环境完全自由支配,我正考虑试图在Docker 上运行“所有一切”(包括我依赖几个桌面 app)
所以我很快开始提取我的基本设置到 base 容器
这是我当前的“devbase” Dockerfile: FROM debian:wheezy RUN apt-get update RUN apt-get -y install ruby ruby-dev build-essential git RUN apt-get install -y libopenssl-ruby libxslt-dev libxml2-dev # For debugging RUN apt-get install -y