在构建 Docker 映像时,我发现自己处于一个陌生的地方——我觉得我正在做一些以前有人已经做过很多次的事情——并且在这方面做得更好。在大多数情况下,这种直觉是绝对正确的——我正在使用一个软件并重新描述已经在Dockerfile
.
通常情况下,我什至发现自己使用打包管理器将软件安装到映像中,然后查看该包以获取有关我的Dockerfile
. OS 打包器和 Docker 打包器之间的重复工作在这种情况下最为明显,我认为这是最常见的情况之一。
因此,基本上,每个在预打包软件之上构建映像的 Docker 用户几乎都是从头开始重新打包,但没有时间,而且通常没有 OS 打包者用于试验、错误和完善的领域知识。如果我们考虑到社区维护的镜像的低可重用性(从 Debian 重新构建到 RHEL 很痛苦),我们就会被困在复制或重新实现已经存在并在操作系统级别上工作的功能,浪费大量时间并投入穷人的生活负担,他们将继承我们可能留下的一切。
有没有办法解决这种重复的工作并重用包维护者已经了解的关于 Docker 中的软件的任何内容?