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

无法将ASP.NET容器镜像推送至AWS ECR问题排查求助

可能的问题原因如下:

  • Docker 客户端与服务端版本不兼容
    你配置的job镜像为docker:stable(对应较新的docker版本),但使用的dind服务是旧的docker:18.09.7-dind,两者API版本不匹配会导致镜像推送时出现未知错误。建议将job镜像和dind服务统一为相同版本,例如都使用docker:20.10.23对应版本。
  • ECR 登录命令已废弃
    你使用的aws ecr get-login命令早已被AWS官方弃用,旧命令返回的认证信息经常出现失效、格式错误的问题,导致push时认证失败。替换为新版登录命令即可:
    aws ecr get-login-password --region eu-west-2 | docker login --username AWS --password-stdin $ECR_DEV_REPOSITORY_URL
    
  • IAM 权限配置缺失/错误
    常见的权限配置问题有两类:
    1. 必须单独配置ecr:GetAuthorizationToken权限,且该权限的资源必须指定为*,不能绑定具体ECR仓库ARN,否则会直接认证失败
    2. 缺少ECR仓库对应推送权限:需要给IAM用户添加目标仓库的ecr:BatchCheckLayerAvailability、ecr:InitiateLayerUpload、ecr:UploadLayerPart、ecr:CompleteLayerUpload、ecr:PutImage权限
  • DOCKER_HOST 配置缺失
    你把DOCKER_HOST的配置注释掉了,旧版本dind服务默认需要显式指定客户端连接地址为tcp://docker:2375(注意不是localhost,dind服务的默认主机名为docker),未配置的情况下docker客户端无法连接到dind服务,会导致推送失败。
  • 环境变量配置错误
    请确认GitLab CI/CD变量中配置的$ECR_DEV_REPOSITORY_URL格式正确,正确格式为<AWS账号ID>.dkr.ecr.eu-west-2.amazonaws.com/<你的ECR仓库名>,不存在拼写错误、多余符号等问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 10:15:03