首页 > 解决方案 > 由于私有存储库凭据而无法注册任务定义不是 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 中提取,这就是为什么我对它尝试使用私有存储库凭证获取图像感到困惑的原因。

标签: amazon-web-servicesamazon-ecsamazon-ecr

解决方案


推荐阅读