2017-02-03 29 views
0

我有几个容器,每个容器都有自己的Dockerfile。每次我在建造时,使用码头组合build,每个集装箱运行自己的要求;无论是从requirements.txt文件(RUN pip install -r requirements.txt),或直接从Dockerfile (RUN pip install Django, celery, ...)。许多要求在一些容器中很常见(几乎全部)。Docker将共享目录中的安装要求组合起来

它工作得很好,但是构建时间有问题。从头开始构建每个容器需要将近45分钟的时间。 (让我说我删除了所有的图像和容器后)

有没有办法,将所有要求都安装在所有容器的公共目录中,这样我们就不会在每次构建新容器时安装通用要求?我使用

泊坞窗,组合为第2版。

回答

1

你可以定义你自己的基本形象。比方说,你所有的容器需要Django和博托例如,你可以创建自己的Dockerfile:

FROM python:3 

RUN pip install django boto 

# more docker commands 

然后你就可以建立这个形象arrt_dtu/envbase并发布它的地方(你的公司dockerhub,内部搬运工环境)。现在你可以使用这个创建专门的图片:

FROM arrt_dtu/envbase 

RUN pip install ... 

这正是我们与红宝石图像的原理相同,例如。红宝石一个使用Linux。如果你想要一个轨道图像,你也可以使用红宝石图像。 Docker镜像完全可以重用!