【问题标题】:What version scheme is this alpine version following?这个高山版本遵循什么版本方案?
【发布时间】:2020-08-06 09:33:02
【问题描述】:

我正在玩一个脚本,它可以让我找出 docker 图像的操作系统版本。在alpine:edge 上尝试后者返回了这个3.13.0_alpha20200626

打印 /etc/os-release 输出以下内容

/ # cat /etc/os-release 
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.13.0_alpha20200626
PRETTY_NAME="Alpine Linux edge"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://bugs.alpinelinux.org/"

这个版本肯定不会验证为SemVer。这个alpine版本遵循什么版本方案?

【问题讨论】:

    标签: linux docker versioning alpine semantic-versioning


    【解决方案1】:

    首先,Alpine edge 始终处于开发阶段,这就是版本 ID 包含日期的原因,而对于稳定版本,它将包含带有 漂亮名称的标准 version ID

    警告:“edge”正在不断开发中,因此在生产中使用它时要小心。 “边缘”中的错误可能会导致数据丢失或损坏您的系统。

    alpine edge

    所以你应该使用漂亮的名字而不是版本ID。 docker 标签指的是版本 ID,例如标签是 alpine:3.7.3 那么 ID 将是 3.7.3

    我没有找到任何官方文档,但这里有一些可以帮助你的东西

    VERSION_ID=3.{Major}.{minor}
    PRETTY_NAME="Alpine Linux 3.{Major}"
    

    漂亮的名字总是指主要版本,不管次要版本是什么

    alpine:3.7.3 ---> PRETTY_NAME="Alpine Linux v3.7"
    alpine:3.8 ---> PRETTY_NAME="Alpine Linux v3.8"
    alpine:3.9 ---> PRETTY_NAME="Alpine Linux v3.9"
    
    

    虽然这对于边缘版本有所不同。

    VERSION_ID=3.{CURRENT_MAJOR}_alpha{SNAPSHOT_DATE}
    PRETTY_NAME="Alpine Linux {edge}"
    
    

    稳定版本就像它们听起来的样子:最初是软件包存档的时间点快照,但随后通过错误修复进行维护,只是为了保持稳定的环境。

    Edge 更像是一个滚动发布,在线存储库中提供了最新最好的软件包。

    What_is_the_difference_between_edge_and_stable_releases

    【讨论】:

      猜你喜欢
      • 2020-02-15
      • 1970-01-01
      • 2010-12-07
      • 2011-01-04
      • 1970-01-01
      • 2013-06-25
      • 2013-10-11
      • 2018-12-24
      • 1970-01-01
      相关资源
      最近更新 更多