我正在尝试将管道中构建的镜像推送到 Docker 注册表,并且镜像上有两个标签( latest
和 commit hash
),但是当使用命令 docker push --all-tags registry.gitlab.com/group/image-name
时,它不起作用,我收到此错误:
unknown flag: --all-tags
我使用的是最新版本的 docker,GitLab CI/CD 阶段定义是这样的
Build Docker Image:
stage: Build Docker Image
image: docker:stable
needs: ["Build & Test App"]
services:
- docker:dind
script:
- echo "$CI_REGISTRY_PASSWORD" | docker login "$CI_REGISTRY" -u "$CI_REGISTRY_USER" --password-stdin
- docker build -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" .
- docker tag "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" "$CI_REGISTRY_IMAGE:latest"
- docker push --all-tags "$CI_REGISTRY_IMAGE"
当我在本地计算机上尝试时,似乎这个标志是已知的并且它可以工作。你知道,可能是什么问题吗?非常感谢。
最佳答案
要使用--all-tags
,请使用docker:latest
镜像
关于Docker Push --all-tags 在管道中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68781212/