如何利用软件包维护者';有Docker的经验吗?

如何利用软件包维护者';有Docker的经验吗?,docker,code-reuse,software-packaging,Docker,Code Reuse,Software Packaging,当建立Docker形象时,我发现自己身处一个陌生的地方——我感觉自己在做一些别人已经做过很多次的事情——而且做得更好。在大多数情况下,这种直觉是绝对正确的——我拿着一个软件,在Dockerfile中重新描述操作系统打包系统中已经描述过的所有内容 通常情况下,我甚至发现自己使用packager manager将软件安装到映像中,然后查看该包的内部,以获得有关我的Dockerfile的可写路径、配置文件、打开的端口等的线索。OS packager和Docker packager之间的重复工作在这种情

当建立Docker形象时,我发现自己身处一个陌生的地方——我感觉自己在做一些别人已经做过很多次的事情——而且做得更好。在大多数情况下,这种直觉是绝对正确的——我拿着一个软件,在
Dockerfile
中重新描述操作系统打包系统中已经描述过的所有内容

通常情况下,我甚至发现自己使用packager manager将软件安装到映像中,然后查看该包的内部,以获得有关我的
Dockerfile
的可写路径、配置文件、打开的端口等的线索。OS packager和Docker packager之间的重复工作在这种情况下最为明显,我认为这是更常见的情况之一

因此,基本上,每个在预打包软件上构建映像的Docker用户几乎都是从头开始重新打包的,但是没有操作系统打包人员在尝试、出错和完善方面的时间和领域知识。如果我们考虑社区维护映像的低重用性(从Debian到RHEL伤害的基础),我们就被复制或重新实现已经存在的功能,并在OS级别上工作,浪费大量的时间,给那些可能遗留下来的任何可怜的灵魂留下维护负担。p>
有没有办法解决这种重复工作并重新使用软件包维护人员已经了解的Docker中的软件?

Docker映像重用的主要来源是

如果您的系统已在其中一个图像中描述,请首先在那里进行搜索


你可以看到他们的Dockerfile,并从其中一张图片开始创建自己的Dockerfile,而不是从基本的ubuntu或wheezy图片开始创建。

我认为这里的问题更一般地说是关于更好的
Dockerfile
体验,即如何让它比一堆内联shell脚本更高级。。。