我想创建单独的容器,每个容器(或多或少)都有一个服务。我使用的是php7-apache镜像,它似乎使用了debian:jessie
、php7
和apache
的基础镜像。因为apache和php在本例中是紧密交织在一起的,所以我不介意使用这个容器。
我想开始将其他服务添加到他们自己的容器中(例如git),并考虑为这些容器使用一个很小的基础镜像,如busybox
或alpinebox
,以降低镜像大小。
也就是说,我读到使用与其他容器相同的基础镜像只会给你提供基础操作系统(debian jessie)的一次性镜像下载的‘惩罚’,然后被缓存-而在其他容器中使用微型OSes将在基础操作系统之上下载那些OSes。
这种情况下的最佳实践是什么?在这种情况下,我应该对所有容器使用相同的基础镜像(debian jessie)吗?
发布于 2016-03-30 00:44:17
您可能希望从头开始创建基础映像。Create a base image from scratch.
来自docker documentation的
您可以使用Docker保留的最小镜像scratch作为构建容器的起点。使用临时“image”向构建过程发出信号,表明您希望Dockerfile中的下一个命令成为映像中的第一个文件系统层。
虽然scratch出现在集线器上的Docker存储库中,但您不能提取、运行它,也不能标记任何名称为scratch的图像。相反,您可以在Dockerfile中引用它。例如,使用scratch创建一个最小容器:此示例创建教程中使用的hello-world图像。如果您想对其进行测试,可以克隆镜像存储库
https://stackoverflow.com/questions/36289605
复制相似问题