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

GitLab CI/CD任务向Docker传递环境变量运行失败该如何解决

错误原因
  • 变量名引用不匹配
    你在GitLab CI全局变量中声明的镜像名称、标签变量是IMAGE和IMAGE_TAG,但在docker-image任务中拼接DOCKER_IMAGE_VERSION时,错误使用了不存在的JDK_IMAGE、JDK_IMAGE_TAG变量,直接导致DOCKER_IMAGE_VERSION取值为空。
  • 未显式传递CI变量到Docker构建流程
    GitLab CI的变量不会自动同步到docker build的构建上下文,即使Dockerfile中定义了同名ARG参数,也需要在执行构建命令时通过--build-arg参数显式传入值才可以正常识别。
修正步骤
  1. 修正GitLab CI配置中的变量引用
variables:
  IMAGE             : "openjdk"
  IMAGE_TAG         : "11-slim"

docker-image:
  extends: .build
  variables:
    DOCKER_IMAGE_VERSION  : ${IMAGE}:${IMAGE_TAG}
  1. 在docker build命令中添加参数传递变量
    修改你.build扩展模板中的docker build执行语句,添加--build-arg参数传入变量:
docker build --build-arg DOCKER_IMAGE_VERSION=${DOCKER_IMAGE_VERSION} -t <自定义镜像名称> .

你的Dockerfile中ARG定义在FROM之前的写法是正确的,不需要调整。

内容的提问来源于stack exchange,提问作者Nick Barton-Wells

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 01:42:00