为什么几乎所有docker库映像都是从源代码而不是包系统构建的?

为什么几乎所有docker库映像都是从源代码而不是包系统构建的?,docker,build,dockerfile,alpine,Docker,Build,Dockerfile,Alpine,为什么几乎所有docker库(标准)映像都是从源代码而不是包系统构建的 我已经调查过了 这是否有一个逻辑解释,特别是对于alpinelinux?官方答案: 没有任何明确的答案,仅仅因为我们 根据具体情况,遵循上游的官方建议。 例如,在postgres图像的Debian变体中,我们使用 .deb软件包由上游项目构建和发布,但在 我们必须从源头上构建高山变种(因为上游没有 发布Alpine软件包,并建议从源代码构建 对于不发布自己包的平台) 在httpd中,apacheupstream不

为什么几乎所有docker库(标准)映像都是从源代码而不是包系统构建的

我已经调查过了

这是否有一个逻辑解释,特别是对于
alpine
linux?

官方答案:

没有任何明确的答案,仅仅因为我们 根据具体情况,遵循上游的官方建议。 例如,在postgres图像的Debian变体中,我们使用 .deb软件包由上游项目构建和发布,但在 我们必须从源头上构建高山变种(因为上游没有 发布Alpine软件包,并建议从源代码构建 对于不发布自己包的平台)

在httpd中,apacheupstream不发布任何二进制软件包,我们 因此,从源头上构建

在openjdk中,我们简单地安装由Debian、Alpine等构建的软件包 因为OpenJDK本身构建起来非常困难和耗时 因为上游公司正式推荐了这些软件包 作为OpenJDK的合适源代码


这样做很可能是为了更好地控制局面。通过从源代码构建,映像生成器可以更好地控制何时执行构建(例如GitHub签入)以及确保使用特定的最新版本的代码。包经理不可避免地落后。