Dockerfiles 组织

Dockerfiles 组织

互联网上有很多博客文章展示如何编写/优化/使用 Dockerfile,但我没有找到太多关于如何组织它们的内容。

但是,我的用例看起来并不奇怪:我有一个 Dockerfiles 层次结构,由基本 Dockerfile 和大量子 Dockerfile 组成,所有这些文件都旨在用于构建存储在企业注册表中的图像。

乍一看,将它们放入 SCM(例如 Git)中听起来是个好主意。但 Dockerfile 很少单独出现。大多数时候都有额外的配置文件(SCM 仍然非常适合)和可能的二进制文件(不再适合)。

另一种选择是将所有 Dockerfiles/配置文件/二进制文件存储在主机上(为什么不是运行私有注册表的主机?)并进行定期备份。

有人对此话题有任何反馈吗?谢谢!

答案1

我肯定会将 Docker 文件和文本配置存储在 SCM(例如 git)中。这就是它们的用途(源代码和配置管理)!

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

  • wget <url>在 - 的里面Dockerfile

  • 使用 shell 脚本将相关工件复制到 Docker 构建目录。然后 shell 脚本docker build在该目录中调用以实际构建映像。

其他可能的情况包括docker import(另见创建基础镜像) 和docker commit,但这些可能与日常使用无关。

相关内容