AWS CodeBuild 的 Docker Hub 登录(Docker Hub 限制)?

Hri*_*ago 5 amazon-web-services docker aws-codebuild

这是我当前的设置:

  1. 从 Bitbucket 获取存储库
  2. 使用 Amazon Linux 2 AWS 托管映像构建 docker 映像
  3. 将图像推送到 ECR

我现在有时会在docker构建阶段收到toomanyrequests错误。所以,现在我想登录到我的 docker hub 帐户并摆脱这个问题。

如何仅在构建阶段登录 docker hub 帐户?我应该使用 buildspec.yml 登录吗?但这会与 AWS ecr 登录发生冲突,对吗?

小智 12

赫里迪亚戈分享的那篇文章非常有帮助。

我也遇到过这个问题(它是在 Docker Hub 对每天可以进行的未经身份验证的拉取数量设置限制之后发生的)。

如果您使用 AWS Secrets-manager 来存储 DockerHub 用户名和密码(使用键/值对),您的构建规范将如下所示(请注意,我的密钥存储为 /dockerhub/credentials):

version: 0.2

env:
  secrets-manager:
    DOCKERHUB_PASS: "/dockerhub/credentials:password"
    DOCKERHUB_USERNAME: "/dockerhub/credentials:username"
phases:
  install:
    commands:
      - echo pre_build step...
      - docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASS
      - $(aws ecr get-login --no-include-email --region us-east-1)
Run Code Online (Sandbox Code Playgroud)

您需要确保您的代码构建具有正确的权限来访问本文中提到的秘密管理器