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

Gitlab CI执行docker tag时报错No such image该如何解决?

问题原因
  • GitLab CI 每个Job运行在独立的隔离环境中,和你本地环境完全无关。你注释掉了heroku_publishing任务中依赖build任务的needs配置,就算没注释,默认build任务构建的镜像也不会自动传递到后续任务的环境中,所以heroku_publishing任务执行打标签操作时,当前Job的docker环境里根本不存在fagam32/study_project_backend:latest镜像,直接触发报错。
  • 本地执行正常是因为你本地环境已经提前构建好了该镜像,CI环境没有这个前置条件。
解决方案

方案一:合并构建和推送逻辑到同一个Job

直接在heroku_publishing任务中完成镜像构建、打标签、推送全流程,不需要跨Job传递镜像,配置修改如下:

heroku_publishing:
    stage: publish_image
    services:
        - docker:dind
    script:
        - docker login --username=$DOCKER_LOGIN --password=$DOCKER_PASSWORD
        # 新增镜像构建步骤
        - docker build -t fagam32/study_project_backend:latest .
        - docker login --username=_ --password=$HEROKU_AUTH_KEY registry.heroku.com
        - docker tag fagam32/study_project_backend:latest registry.heroku.com/study-project-backend/release
        - docker push registry.heroku.com/study-project-backend/release
    allow_failure: false

这种方案逻辑最简单,也不会有跨Job传递资源的额外开销。

方案二:保留独立构建和推送Job,补充镜像拉取逻辑

如果你需要保留单独的build构建Job,先在build Job中将构建好的镜像推送到Docker Hub,再在heroku_publishing Job中先拉取镜像再操作,配置修改如下:

build:
  stage: build
  services:
    - docker:dind
  script:
    - docker login --username=$DOCKER_LOGIN --password=$DOCKER_PASSWORD
    - docker build -t fagam32/study_project_backend:latest .
    - docker push fagam32/study_project_backend:latest

heroku_publishing:
    stage: publish_image
    services:
        - docker:dind
    script:
        - docker login --username=$DOCKER_LOGIN --password=$DOCKER_PASSWORD
        # 新增拉取提前构建好的镜像步骤
        - docker pull fagam32/study_project_backend:latest
        - docker login --username=_ --password=$HEROKU_AUTH_KEY registry.heroku.com
        - docker tag fagam32/study_project_backend:latest registry.heroku.com/study-project-backend/release
        - docker push registry.heroku.com/study-project-backend/release
    # 恢复对build任务的依赖
    needs:
        - build
    allow_failure: false

内容的提问来源于stack exchange,提问作者Fagam32

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:24:02