GitLab Docker Runner无法通过config.toml配置DOCKER_AUTH_CONFIG拉取ECR镜像
GitLab Runner配置DOCKER_AUTH_CONFIG使用ECR凭证助手无效问题
问题背景
我有一台已分配ECR镜像拉取权限的EC2主机:
- 在
$HOME/.docker/config.json中配置以下内容时,可正常拉取目标ECR镜像:{ "credHelpers": {"XXXXXX.dkr.ecr.ap-southeast-2.amazonaws.com": "ecr-login" }} - 但GitLab Runner拉取GitLab CI services中托管在该ECR的镜像时,报错
no basic auth credentials,说明配置的DOCKER_AUTH_CONFIG未生效。
当前GitLab Runner配置
config.toml中的相关配置片段:
[[runners]] name = "Global Share Runner" url = "gitlab.example.com" token = "xxxx" executor = "docker" environment = [ "DOCKER_AUTH_CONFIG={ \"credHelpers\": {\"XXXXXX.dkr.ecr.ap-southeast-2.amazonaws.com\": \"ecr-login\" }}" ]
调试结果
开启CI_DEBUG_TRACE: true后,确认DOCKER_AUTH_CONFIG环境变量已被正确设置,但日志中未出现Authenticating with credentials from $DOCKER_AUTH_CONFIG的记录。
验证对比
若直接在/root/.docker/config.json中配置相同的credHelpers内容,镜像拉取操作正常,且日志会打印Authenticating with credentials from /root/.docker/config.json。
已排查内容
已查看以下相关问题,但未找到符合需求的解决方案:
- Gitlab DOCKER_AUTH_CONFIG not working
- GitLab runner ignoring DOCKER_AUTH_CONFIG when credential helper specified
内容的提问来源于stack exchange,提问作者HeroManifest
相关产品推荐
相关产品推荐

