Docker Hubのレート制限に関するFAQ

2020年11月1日から Docker Hub では送信元のIPに基づいたレート制限(アクセス回数による制限)が導入されます。 CirlceCI では共有 IP プールからジョブを実行しているので、このレート制限による問題発生を回避するために、Docker Hub で認証済みの Docker プルを使用することを強くお勧めします。

最新の情報は 「Authenticate with Docker to avoid impact of Nov. 1st rate limits"」 のDiscussの記事を参照ください。

どんなケースでこの問題が影響するか、よくある質問をご紹介します。

どうやって Docker Hubで認証しますか?

auth キーにユーザー名とパスワードをセットし、Docker イメージへ渡す必要があります。 詳細はこちらを参照ください。 https://circleci.com/docs/2.0/private-images/

どうやって認証が成功したか確認できますか?

authキーを利用し、"Spin up environment" ステップで Docker プルが成功した場合は認証が成功したことになります。 現時点では認証が成功したかどうかはUI上では表示しておりません。

しかし、もし誤ったキーを利用し認証が失敗した場合は エラーが表示されビルドは失敗します。 

補足: authが使用されていない場合、spin up environmentステップには以下のような警告メッセージが表示されます。

>Warning: No authentication provided, this pull may be subject to rate limits.

mceclip0.png

ビルドでDocker executorを利用している場合は影響を受けますか?

はい。 Docker executorを利用している場合は、Docker Hubの変更の影響があります。

ビルドでMachine executorを利用している場合は影響を受けますか?

Docker imageをpullする操作を Machine executorで利用する場合、Docker Hubの変更の影響があります。

docker pull docker run docker buildなどのDocker imageをプルする操作を行う前に、 docker login -u username -p password を利用しDocker Hubにログインする必要があります。

CircleCIのコンビニエンスイメージを利用している場合、影響はありますか?

はい。しかし、現在Docker社とパートナーシップを結びこの影響を最小限にしようとしています。

カスタムDockerイメージを使用する場合、影響はありますか?

はい。同じく認証情報を追加する必要があります。

2020年11月1日までに何を準備すればいいですか?

Docker Hubに認証を行う操作をプロジェクトに追加してください。詳細は "My build fails to pull Docker image with "Too Many Requests" - Rate Limiting by Docker Hub" の記事でも確認できます。

すべてのプロジェクトに対してDocker 認証を一度に追加することはできますか?

いいえ、現時点ではそれぞれのプロジェクトに対して更新を行う必要があります。

Docker Hubの変更後ビルドがブロックされた場合、何をすればいいですか?

はじめに、認証を設定していない場合、上記を確認し認証の設定を追加してください。

認証を設定しているにも関わらず制限に達した場合は、ビルド頻度を下げる、もしくは無制限にDocker imageをプルできるDocker Hubのプランを検討してください。

 

この記事は役に立ちましたか?
3人中2人がこの記事が役に立ったと言っています

コメント

0件のコメント

記事コメントは受け付けていません。