Docker推送:一次推送带有多个标签的镜像

问题描述 投票:0回答:4

我有一个带有三个标签的 docker 镜像

repo:latest
repo:v1.1
repo:dev
。当我这样做时,只有一个标签会被推送到存储库中。有没有一种方法可以一次性推送所有标签,或者我需要按标签推送?
    

docker tags push
4个回答
29
投票
所有标签

,您可以使用docker push repo:v1.1选项:

--all-tags

Docker 20.10 及更高版本

支持此选项。通过在旧版本上省略 docker image push --all-tags repository/image_name 可以实现相同的行为。


更多信息:
Docker推送文档


24
投票
命令不接受多个参数(如果有人想要一次性推送选定的多个标签(不是全部)),因此需要单独推送每个标签,例如:

--all-tags

否则,正如
@GuillaumePancak 的回答
中提到的,人们可能有兴趣依赖 Docker 20.10.0

中可用的 for t in latest v1.1 dev; do docker push "repo:${t}" done 标志。

另请注意,经常考虑为同一图像推送多个不同的标签(这也可能是您的用例)。在这种情况下,连续推送这些标签(而不是与多个并发进程同时推送)可确保在使用给定标签推送图像一次后,标签同义词的 

--all-tags

几乎立即生效。

目前有一个

更改

1
投票
docker push

添加了一个循环,而不是并行化它们。 所以现在,唯一的解决方案是单独推送每个标签。

在脚本中,您可以执行这样的循环来推送图像的所有标签; 

docker push

0
投票
${1}

docker_push myimage
    

© www.soinside.com 2019 - 2024. All rights reserved.