首页 > 解决方案 > Docker push:使用多个标签推送一次图像

问题描述

我有一个带有三个标签的 docker 图像repo:latest, repo:v1.1, repo:dev. 当我这样做时,docker push repo:v1.1只会将一个标签推送到存储库中。有没有办法对所有标签进行一次推送,或者我需要按标签推送?

标签: dockertagspush

解决方案


docker push命令不接受多个参数(如果有人想一次性推送多个标签(不是全部)的选择),因此需要分别推送每个标签,例如:

for t in latest v1.1 dev; do
    docker push "repo:${t}"
done

否则,正如@GuillaumePancak的回答中提到的,人们可能有兴趣依赖Docker 20.10.0--all-tags提供的标志。

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


推荐阅读