【问题标题】:add some note about release version with docker image使用 docker image 添加一些关于发布版本的注释
【发布时间】:2016-10-29 07:08:45
【问题描述】:

我创建了自己的 Docker 映像并将其推送到 Docker 存储库。
但是当我更改我的 API 版本时,我需要构建一个新的 docker 镜像并将这个新镜像也推送到存储库。

我的问题是如何在 docker 映像中设置有关 API 发布版本的一些信息?

因为在每个版本中我都会更改或升级我的 API。我想添加一些关于新版本的信息,因为每个人都提取我的 docker 图像知道 API 的变化。(比如发布说明或在 git 中阅读我的文件),那么我该如何添加呢?

是否适合将此信息添加到 docker 图像标签?

如果没有,我可以如何以及在哪里添加此信息?

【问题讨论】:

    标签: docker dockerfile docker-image


    【解决方案1】:

    图像中可能包含这些信息。

    LABEL 需要在Dockerfile 中使用,它需要key=value 对作为参数。这可以在FROM 指令之后添加。

    例如镜像是用以下不同版本的软件构建的,这里是如何定义的。

    LABEL java.version=1.8 groovy.version=2.4 ant.version=1.9.4
    

    因此,同样,您可以添加您的 api 版本。

    现在下一个问题是“如何查看这些细节”?

    让我们假设,图像test 被拉取。

    使用下面的命令查看图像的信息。

    docker inspect test

    上述命令将以 json 格式显示所有元数据详细信息。这将显示标签以及许多细节。

    "Labels": {
                    "ant.version": "1.9.4",
                    "groovy.version": "2.4",
                    "java.version": "1.8"
                }
    

    你可以从documentation找到更多关于docker元数据的细节

    除上述之外,tag 适当的图像。

    docker build -t IMAGE[:TAG]

    例如:如果应用名称是 app1,并且发布版本是 1.1.0,则可以使用以下命令构建:

    docker build -t app1:1.1.0

    您可以在 docker hub 中找到类似的示例,例如 tomcat 以查看图像的示例命名约定。

    【讨论】:

    • 是否有任何 AWS 或 docker java API 来获取 imag 的标签详细信息?我的意思是获得与“docker inspect test”类似的输出。我们正在编写一个应用程序,它将在 ECS 容器中列出所有服务、其图像和图像标签。现在我可以使用 AWS api 'com.amazonaws.services.ecs.AmazonECS' 列出服务及其图像。但无法成功读取图像标签。
    • 有一个多步骤的解决方案来获取特定图像的元数据检查这个 Stackoverflow 问题stackoverflow.com/questions/51062980/…
    猜你喜欢
    • 1970-01-01
    • 2011-05-12
    • 1970-01-01
    • 2014-07-28
    • 2017-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多