使用docker compose push推送一张带有多个标签的镜像

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

现在

docker-compose
v1 已被弃用,取而代之的是
docker compose
v2,并且 Compose 文件
build
部分支持 a
tags
小节
,我如何使用旧的
docker-compose push
等效项来推送所有图像?假设我有这个示例 docker-compose.yml 文件:

---
version: "3"

services:

  myservice:
    image: myregistry.com/stuff/myimage:v1.0.0
    build:
      context: ./myimage
      tags:
        - myregistry.com/stuff/myimage:latest

如果我在

docker compose build
后面加上
docker compose push
,则只会推送 v1.0.0 标签。除了回到
docker push myregistry.com/stuff/myimage:latest
之外还有其他选择吗?

docker-compose
1个回答
2
投票

我刚刚调查同样的问题,偶然发现了你的帖子。

这篇文章中所引用,添加的用于处理具有多个标签的构建的代码已于2022年5月23日合并到docker compose中(相对较新)。

docker compose push
似乎还不尊重这一点。

但是,您可以使用

--all-tags
标志来
docker push
推送图像的所有标签,这似乎可以实现接近相同的目标。

-a, --all-tags 将图像的所有标签推送到存储库

docker push --all-tags myregistry.com/stuff/myimage

希望这有帮助!

更新:对于任何未来的读者,

docker compose push
现在将
image
tags
部分中指定的所有标签推送到注册表。

docker compose push
© www.soinside.com 2019 - 2024. All rights reserved.