You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab CI流水线执行docker push --all-tags报unknown flag错误如何解决

问题原因
  1. docker push的--all-tags参数是Docker 20.10.0版本才正式新增的功能,你本地安装的是最新版Docker,版本符合要求因此可以正常执行该命令。
  2. 你GitLab CI配置中使用的docker:stable镜像对应的Docker版本低于20.10.0,无法识别该新增参数,因此抛出unknown flag: --all-tags的报错。
解决方案

你可以选择任意一种方式修复该问题:

  • 升级CI使用的Docker镜像版本
    将CI配置中的image: docker:stable替换为更高版本的官方镜像,例如image: docker:20.10或image: docker:latest,即可直接使用--all-tags参数。
  • 拆分推送命令(兼容性更好,无需调整CI运行环境)
    去掉--all-tags参数,改为分别推送两个标签,修改对应script部分即可:
    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 "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA"
      - docker push "$CI_REGISTRY_IMAGE:latest"
    

内容的提问来源于stack exchange,提问作者Petr Jelínek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 20:21:00