LoginSignup
0
0

More than 1 year has passed since last update.

codebuildでdockerをビルドした時にrate limitsが表示された件

Posted at

概要

2020年10月からdocker hubのリポジトリからpullする時に未ログインした状態でpullすると任意のIP単位で制限をかけるような仕様を追加した。
これを解決するにはdocker loginをするしかない。
また、code buildはawsのマネージドサービスで動いているため、数回動かしただけでrate limitsエラーが表示されてしまう。
このエラーを回避するためにはcode buildのbyildspec.yamlでコンテナをビルドする前にdocker loginをする必要がある。

詳しくは以下。

buildspec.yamlの例

変数はcode build経由で渡すなりsecret manager経由で渡すなり、セキュリティ要件とやりやすさを考えてやってもらえますと。

version: 0.2

phases:
  install:
    commands:
      - echo install is nothing...
      - AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query 'Account' --output text)
  pre_build:
    commands:
      - echo Logging in to Amazon ECR...
      - aws ecr get-login-password --region $AWS_DEFAULT_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com
      - echo ${DOCKER_HUB_PASSWORD} | docker login -u ${DOCKER_HUB_ID} --password-stdin

  build:
    commands:
      - echo build docker image
      - docker build -t $CONTAINER_IMAGE .
      - docker tag $CONTAINER_IMAGE_REPO_NAME:$CONTAINER_IMAGE_TAG $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$CONTAINER_IMAGE_REPO_NAME:$CONTAINER_IMAGE_TAG
  post_build:
    commands:
      - echo todo is nothing...
      - docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$CONTAINER_IMAGE_REPO_NAME:$CONTAINER_IMAGE_TAG


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0