现在
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
之外还有其他选择吗?
我刚刚调查同样的问题,偶然发现了你的帖子。
如这篇文章中所引用,添加的用于处理具有多个标签的构建的代码已于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