【问题标题】:Why do Docker image links contain multiple versions and labels?为什么 Docker 镜像链接包含多个版本和标签?
【发布时间】:2021-04-18 17:39:08
【问题描述】:

希望这不是一个愚蠢的问题。在查看 Docker 镜像时,特别是来自官方存储库的镜像,它们列出了每个 dockerfile 的多个版本和标签。例如:

9.1.6-php8.0-apache-buster, 9.1-php8.0-apache-buster, 9-php8.0-apache-buster, php8.0-apache-
buster, 9.1.6-php8.0-apache, 9.1-php8.0-apache, 9-php8.0-apache, php8.0-apache, 9.1.6-apache-
buster, 9.1-apache-buster, 9-apache-buster, apache-buster, 9.1.6-apache, 9.1-apache, 
9-apache, apache, 9.1.6, 9.1, 9, latest, 9.1.6-php8.0, 9.1-php8.0, 9-php8.0, php8.0

我的问题是为什么他们在链接中列出了这么多版本的变体(即 9.1.6-php8.0-apache-buster 和 9.1-php8.0-apache-buster 等)?我不确定这是否适用于搜索和蜘蛛(尽管它不需要像他们那样包含在链接中),还是因为每个 dockerfile 都可以修改为这些版本中的任何一个? (如果是这样,如何?)。例如,上面的 drupal dockerfile 支持 9 - 9.1.6,并且可以将 dockerfile 调整为该版本。 TBH,如果只是为了搜索索引,这主要是令人困惑,为什么他们这样做他们的链接,因为它看起来支持某些东西的多个版本。

【问题讨论】:

    标签: docker dockerfile docker-image


    【解决方案1】:

    今天,这些标签可能都指向同一张图片。但是明天可能会发布 9.1.7,届时,所有 9.1.6 映像将保持不变,并且会使用 9.1 和 9 等通用标签构建一组新的 9.1.7 映像。此外,当 9.2.0 发布时,或者 php 8.1 出来了,或者下一个版本的 debian 发布了,这些都可能对应用程序造成重大变化。所以在你的 Dockerfile 中,你可能会说:

    FROM ${BASE}:9.1-php8.0-apache-buster
    

    通过这样做,您将在 9.1.7 发布时获得它,而不是 9.2.0,并且您不会意外地转移到 nginx,或者当它稳定时从 buster 升级到 bullseye。您的应用程序能够容忍的更改越多,您的基本图像标签就越通用。作为其中一项更改的风险可能会破坏您的应用。

    您可以非常具体并固定到不会自动更新的确切基础映像,但是随着在较新的基础映像中修补了安全漏洞,您的子映像将仍然容易受到攻击,因为它被锁定到赢得'不接收更新。

    【讨论】:

    • 所以链接中的那些标签可以在 FROM 语句中使用,并充当通配符:即 9.1 == 9.1.X?所以这意味着它可以安装从 9.0 到
    • @user58446 如果我知道您正在查看哪个存储库,这将更容易提供细节。
    • 我没有特别想找到的,只是想了解为什么会这样。不过,当我确实去寻找一个时,我总是想知道他们为什么不直接说9.16-php8.0-apache-buster 而不是添加所有额外的内容?为什么需要9.1-php8.0-apache-buster 或只是9.1?它有什么作用,我将如何使用它?
    • @user58446 您在某个 repo 上询问有关特定 9.0.11 标签的问题。您是说该标签指向与 9.1.x 标签相同的图像吗?我看不到您的屏幕,无法为您提供更好的答案。
    • 9.0.11 标签从何而来?你是说9.1.6?您是说无论回购如何,这里都没有模式吗?查看rustgcc...对于gcc,它显示10.3.0, 10.3, 10, latest,那么“最新”图像是10.3 还是10.0?显然我猜是 10.3,但谜底是为什么要费心把 10.0 放在链接中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-15
    • 2018-09-23
    • 2021-11-15
    • 1970-01-01
    • 2015-05-19
    • 1970-01-01
    相关资源
    最近更新 更多