Dockerfiles组织

在互联网上有大量的博客文章,并展示如何编写/优化/使用Dockerfile,但我没有发现如何组织它们。

然而,我的用例并不奇怪:我有一个Dockerfiles层次结构,由基础Dockerfiles和大量的Child-Dockerfiles组成,所有这些都是用来构build存储在企业registry中的图像。

乍一看,把它们放在一个SCM(如Git)听起来是一个好主意。 但是Dockerfile很less单独出现。 大多数情况下,有额外的configuration文件(一个SCM仍然完美契合)和可能的二进制文件(不再适合)。

另一种select是将所有Dockerfiles /configuration文件/二进制文件存储在主机上(为什么不是运行私有registry的那个),并进行定时备份。

有没有人有任何关于这个话题的反馈? 谢谢!

我肯定会将Docker文件和文本configuration存储在SCM(例如git)中。 这就是他们所做的(源和configurationpipe理)!

对于二进制文件,我目前看到两种方法“在野外”:

  • Dockerfile wget <url>

    • 从公共URL(如中央存储库
    • 从一个私有二进制工件库(请参阅Sonatype博客为例。
  • 使用shell脚本将相关工件复制到Docker构build目录。 shell脚本然后调用该目录中的docker build来实际构build映像。

其他可能的事情是docker import (另请参阅创build基本映像 )和docker commit ,但这些在日常使用中不太可能相关。