top of page

AWSのCodeBulidでdockerBuildが失敗する時の対処の覚書

更新日:2022年7月29日

先日AWSでCodePipelineを利用してCodeBuildを実行してコンテナイメージを作成するときにハマったときの対処方法の備忘します。

CodeBuildのエラーログ「You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limits」


結論から言うとDockerHUBにログインしないでイメージをダウンロードするのに回数制限がありました。


■DockerHUBの制限

①認証していない(anonymous ユーザ)場合は、100ダウンロード/6時間

②認証している場合(Free アカウント)は 200 ダウンロード/6時間

③Docker Pro / Team 有償アカウントでログイン時は無制限


私が実施していたのは①のケースで6時間あたり100ダウンロードの条件に当てはまっていたのですがどう考えても6時間に100回ビルドしていない。


問題はAWSからDockerHUBにアクセスするIPアドレスは複数あるが、AWSユーザで共用のため他のAWSユーザがダウンロードを実施している可能性がる。結果的にダウンロード制限を超えたIPを利用してアクセスしたときに制限がかかるという仕組みでした。


■解決方法

1.CodeBuildに利用するBuildSpec.yamlにDockerHUBのユーザ情報を記載(②のケースを利用)

2.ECRに当該Dockerイメージをアップロードし、そのファイルをBildするときにダウンロードするようにDockerFileにパスを記載する。


詳しい実施方法を知りたいかたはお問合せくださいませ。

閲覧数:17回0件のコメント

コメント


bottom of page