在构建Docker图像时,我发现自己处在一个陌生的地方 - 我觉得我做过某些人以前做过很多次的事情 - 而且做得好得多。在大多数情况下,这种直觉是绝对正确的 - 我正在使用一个软件并重新描述在Dockerfile
的操作系统包装系统中已经描述过的所有内容
通常情况下,我甚至发现自己使用打包管理器将软件安装到映像中,然后查看该包以获取有关我Dockerfile
的可写路径,配置文件,开放端口等的一些线索。在这种情况下,OS打包程序和Docker打包程序之间的重复工作最为明显,我认为这是一种比较常见的情况。
基本上,每个Docker用户在预打包软件之上构建图像几乎都是从头开始重新打包,但没有时间,而且通常是OS包装商用于试用,错误和抛光的领域知识。如果我们考虑社区维护图像的低可重用性(从Debian重新基础到RHEL的伤害),我们就会陷入复制或重新实现已经存在的功能并且在操作系统级别上工作,浪费了大量时间和给那些继承我们可能留下的任何东西的可怜的灵魂施加维护负担。
有没有办法解决这种重复工作并重新使用任何软件包维护者已经在Docker中学到的软件包?
答案 0 :(得分:1)
Docker镜像重用的主要来源是hub.docker.com
首先搜索您的系统是否已在其中一张图片中进行了描述。
您可以看到他们的Dockerfile,并从其中一个图片开始,而不是从基本的ubuntu或wheezy图片开始。