图像是否可以有多个标签?

时间:2015-08-12 11:11:06

标签: docker dockerhub

当我将新图片推送到repo时,我希望它有两个标签,例如0.2latest。这样可以使用latest标记和特定版本,例如使用0.2标记来始终提取最新的图像版本。是否可以使用docker?

有没有解决方法?我看到的唯一解决方案是分别进行两次推送......

5 个答案:

答案 0 :(得分:34)

您可以创建多个代码:

docker tag <id> <user>/<image>:0.2
docker tag <id> <user>/<image>:latest

并推送这些。

答案 1 :(得分:22)

您需要为每个版本执行一次推送,例如:

notify

您还可以合并docker tag test:latest <repo>/<user>/test:latest docker push <repo>/<user>/test:latest docker tag test:0.2 <repo>/<user>/test:0.2 docker push <repo>/<user>/test:0.2 版本为latest,如:

0.2

所以那些将指向相同的图像层。

答案 2 :(得分:2)

您可以使用多个标签构建图像,然后在不显式指定标签的情况下推送图像。这会将所有图像标签推送到图像注册表。

示例:

docker build -t reg/user/image:foo -t reg/user/image:latest .

docker push reg/user/image

答案 3 :(得分:0)

在图像上有多个标签是有正当理由的(请参阅OP),但是如果您出于信息目的添加标签,最好使用图像标签

Docker标签位于图像的内部,而不是应用于注册表中。这意味着标签是不可变的,并且总是与图像一起复制。

Label Schema定义了versionvcs-refbuild-date之类的可互操作标签的列表。

答案 4 :(得分:0)

如果未在push命令中指定标签,它将推送所有标签。

docker tag user/imagename:tag1
docker tag user/imagename:tag2

docker push user/imagename
相关问题