amazon-web-services - 由于私有存储库凭据而无法注册任务定义不是 ECR 支持的身份验证方法
问题描述
我有一个包含多个容器的 docker 映像,其中一个容器托管在 docker hub 上的私有 repo 上。在 ECR 上托管映像后,我尝试将映像部署到 ECS 上,但收到错误消息:
私有存储库凭据不是 ECR 支持的身份验证方法
我已成功通过 AWS 进行身份验证。
deploy:
needs: build
runs-on: ubuntu-latest
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
GIT_URL_INSTEAD_OF: "https://github.com/=git@github.com:"
FORCE_COLOR: 1
ECR_REGION: us-east-1
ECS_REGION: us-east-2
steps:
- name: Download Task Definition
id: download-artifact
uses: actions/download-artifact@v2
with:
name: task-definition
- name: Configure AWS Credentials
id: aws-login
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Rename task definition
run: mv task-definition* task-definition.json
- name: Login to ECR
uses: aws-actions/amazon-ecr-login@v1
- name: Deploy
uses: aws-actions/amazon-ecs-deploy-task-definition@v1
timeout-minutes: 10
with:
task-definition: task-definition.json
service: glean-payments-dev
cluster: fargate
wait-for-service-stability: true
AWS 文档似乎表明它应该使用我正在验证的 IAM 角色从 ECR 中提取,这就是为什么我对它尝试使用私有存储库凭证获取图像感到困惑的原因。
解决方案
推荐阅读
- android - 可以在 Android 和 iOS 的应用程序中嵌入 3D 视图吗?
- angular - Firebase + 火焰链接 + 角度
- amazon-ec2 - 在 AWS EC2 上安装和运行 JBoss EAP 7
- php - 缩短 htaccess 的 URL
- android - Firebase 统计报告(发送/展示)
- go - 在 Golang 中构建动态(条件)WHERE SQL 查询
- yii2 - Yii2 活动记录过滤器的列值相等
- laravel - Laravel 填充 vs 有时
- sql-server - SSRS 上缺少 Oracle 数据库连接类型
- google-sheets - 公式和查询计数唯一值但未能显示零