【问题标题】:Why almost all docker library images are build from the source not from the package systems?为什么几乎所有 docker 库图像都是从源而不是从包系统构建的?
【发布时间】:2018-09-22 17:36:50
【问题描述】:

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

我调查过https://hub.docker.com/u/library/

这对alpine linux 有合理的解释吗?

【问题讨论】:

  • 这可能是为了更好地控制。通过从源代码构建,图像构建器可以更好地控制何时执行构建(例如 GitHub 签入)并确保使用特定|最新版本的代码。包管理器不可避免地落后。

标签: docker build dockerfile alpine


【解决方案1】:

官方回答:https://github.com/docker-library/official-images/issues/3517

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

在 httpd 中,Apache 上游不发布任何二进制包,我们 因此从源代码构建。

在openjdk中,我们简单的安装Debian、Alpine等构建的包 因为 OpenJDK 本身构建起来非常困难且耗时 来自源代码,并且因为上游官方推荐这些包 作为 OpenJDK 的合适来源。

【讨论】:

    猜你喜欢
    • 2020-01-12
    • 2021-04-14
    • 2023-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    相关资源
    最近更新 更多