如何为上游软件设置Docker映像的版本

如何为上游软件设置Docker映像的版本,docker,openssl,centos,Docker,Openssl,Centos,我目前正在为一个EOL'd平台(不问)构建Docker映像,该平台提供各种工具和最新的OpenSSL 关于如何标记这些图像,社区的智慧是什么 有三位信息: 平台的版本(例如Centos 5.11) 打包软件的版本(例如Curl 7.64.0) 我的Dockerfile的版本 目前,我倾向于使用类似于curl-centos5:7.64.0的东西,因此在映像名称中包括平台,并且只使用上游版本作为标记。我没有提供任何关于我的Dockerfile版本的指示,即未来的更新只会覆盖Docker Hub

我目前正在为一个EOL'd平台(不问)构建Docker映像,该平台提供各种工具和最新的OpenSSL

关于如何标记这些图像,社区的智慧是什么

有三位信息:

  • 平台的版本(例如Centos 5.11)
  • 打包软件的版本(例如Curl 7.64.0)
  • 我的Dockerfile的版本
目前,我倾向于使用类似于
curl-centos5:7.64.0
的东西,因此在映像名称中包括平台,并且只使用上游版本作为标记。我没有提供任何关于我的Dockerfile版本的指示,即未来的更新只会覆盖Docker Hub上的现有映像

我的理由是,在我的例子中,平台非常重要(因为它太旧了),所以它应该是图像名称的一部分

此外,人们倾向于使用诸如
$upstream
$upstream-$platform
之类的标记,而忽略了自己Dockerfile的版本。另一方面,像Debian这样的发行版通常会在上游版本中添加后缀,但这似乎不是Docker社区的定制


什么是最好的或被接受的方式?

你可以使用任何对你有意义的东西。如果打包的软件(可能)永远不会得到更新,那么使用日期戳作为图像标记是非常合理的。我不会特意在图像名称中包含发行版名称。我同意David的评论。做对你有意义的事。我只想补充一点:试着看看dockerhub上的其他“专业”图片,看看它们的标记逻辑是否激发出任何想法——例如:你可以使用任何对你有意义的东西。如果打包的软件(可能)永远不会得到更新,那么使用日期戳作为图像标记是非常合理的。我不会特意在图像名称中包含发行版名称。我同意David的评论。做对你有意义的事。我只想补充一点:试着看看dockerhub上的其他“专业”图像,看看它们的标记逻辑是否激发了任何想法——例如: