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

Jenkins Docker Cloud配置无法持久化ECR凭证问题求助

解决Jenkins Docker Cloud拉取ECR镜像的方案

方案1:利用Jenkins AWS凭证插件自动生成ECR临时凭证

  1. 安装Jenkins的AWS Credentials插件
  2. 在Jenkins凭证管理中添加AWS类型凭证,填入拥有ECR镜像拉取权限的Access Key和Secret Key
  3. 进入Docker Cloud的容器模板配置:
    • 镜像地址填写ECR完整路径(例如123456789012.dkr.ecr.us-east-1.amazonaws.com/your-image:tag)
    • 在「Registry credentials」选项中选择刚创建的AWS凭证
    • 保存配置后,Jenkins会自动通过该AWS凭证生成临时ECR登录token,完成镜像拉取

方案2:在Docker主机上配置ECR凭证自动刷新

  1. 在Docker Cloud连接的Docker主机上安装AWS CLI,并给主机的IAM角色或本地AWS凭证配置ECR登录权限
  2. 创建定时任务(如cron),每12小时执行一次ECR登录命令(ECR token有效期为12小时):
    aws ecr get-login-password --region <你的区域> | docker login --username AWS --password-stdin <你的AWS账户ID>.dkr.ecr.<你的区域>.amazonaws.com
    
  3. 把登录命令加入Docker主机的启动脚本,确保主机重启后自动完成ECR登录
  4. Jenkins Docker Cloud的容器模板无需配置Registry凭证,直接填写ECR镜像地址即可使用

方案3:将ECR镜像同步至支持持久化凭证的仓库

如果前两种方案无法实施,可把ECR镜像同步到Docker Hub、Harbor等仓库:

  1. 在目标仓库创建持久化的用户名+密码凭证
  2. 用脚本或CI流水线定期同步镜像:
    # 拉取ECR镜像
    docker pull <ECR镜像地址>
    # 重新打标签
    docker tag <ECR镜像地址> <目标仓库地址>
    # 推送至目标仓库
    docker push <目标仓库地址>
    
  3. 在Jenkins Docker Cloud容器模板中配置目标仓库的持久化凭证,使用同步后的镜像

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 04:27:13