部署Eventbridge ETL模式时docker login返回错误码1问题求助
问题原因及解决方案
核心原因
你报错的根本矛盾为:你执行bootstrap操作的AWS区域是us-east-2,但CDK部署时尝试推送镜像的ECR仓库位于us-west-2,区域不匹配导致docker登录ECR鉴权失败。
次要排查点
- 本地docker服务未正常运行
- 当前终端持有的AWS凭证权限不足,或不属于账号
315997497220 - 项目代码/CDK配置中硬编码了不匹配的部署区域
- 目标区域未提前创建对应ECR镜像仓库
解决方案
- 统一部署区域与bootstrap区域,二选一执行即可:
- 若需部署到
us-east-2,执行部署命令时明确指定区域,避免CDK读取默认区域配置:cdk deploy --region us-east-2 - 若需部署到
us-west-2,先补做对应区域的bootstrap操作:export CDK_NEW_BOOTSTRAP=1 npx cdk bootstrap aws://315997497220/us-west-2 --cloudformation-execution-policies arn:aws:iam::aws:policy/AdministratorAccess --trust 315997497220
- 若需部署到
- 验证基础依赖状态
- 确认本地docker服务正常运行,可执行
docker ps验证服务状态 - 执行
aws sts get-caller-identity验证当前AWS凭证有效,且所属账号为315997497220
- 确认本地docker服务正常运行,可执行
- 手动验证ECR登录逻辑,查看具体报错信息:
若提示仓库不存在,可在对应区域提前创建名称匹配的ECR私有仓库即可。# 替换下方REGION为你实际部署的区域 aws ecr get-login-password --region REGION | docker login --username AWS --password-stdin 315997497220.dkr.ecr.REGION.amazonaws.com - 检查项目配置:确认cdk.json中没有硬编码错误的区域参数,qualifier参数与bootstrap时使用的参数完全一致;检查Stack初始化代码,没有硬编码不匹配的region属性。
内容的提问来源于stack exchange,提问作者Muhammad Mubashirullah Durrani
相关产品推荐
相关产品推荐

