Libelektra: Docker:プルレートの制限に達しました。

作成日 2020年12月01日  ·  18コメント  ·  ソース: ElektraInitiative/libelektra

Dockerは最近、匿名ユーザーと無料ユーザーのプルレート制限を実装しました。 制限は、6時間あたり100(匿名)および200(無料)のコンテナーイメージプルリクエストです。

この制限のためにビルドが失敗し始めており、修正または回避策を実装する必要があります。

docker build -t hub.libelektra.org/build-elektra-alpine:202012-0e6d95bb97e68999c969280c59562b159b8a0ecbee2a5aba451fe640081032de --pull --build-arg JENKINS_GROUPID=47110 --build-arg JENKINS_USERID=47110 --build-arg PARALLEL=12 --build-arg BASE_IMG=hub.libelektra.org/build-elektra-web-base:master_299 -f ./scripts/docker/alpine/3.12/Dockerfile ./scripts/docker/alpine/3.12
Sending build context to Docker daemon  6.144kB

Step 1/7 : FROM alpine:3.12.1
toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
script returned exit code 1
continuous integration

最も参考になるコメント

Dockerイメージが14枚だけで、毎月プルするだけの場合、制限をはるかに下回るはずですか?

Jenkins Pipelineは、Docker Hubから常にプルしようとするジョブ(Webサイトの場合と思います)を実行しているようです: https

これは、 build --pull使用しているために発生します。

デフォルトではbuild--pull )を使用し、毎週または毎月--pull実行する必要があります。

全てのコメント18件

ビルドサーバーは、実際には、docker.orgからではなく、プライベートdockerレジストリからのみプルする必要があります。

問題は、hub.libelektra.orgで変更しなかった設定だけでしょうか? または、hub.libelektra.orgにミラーリングされていない画像はありますか?

@robaerdご覧いただけますか? それは私たちのビルドに影響を与えるので、それは緊急です。

または、hub.libelektra.orgにミラーリングされていない画像はありますか?

ハブ上にない更新されたベースイメージを常にチェックしているようです...

ハブ上にない更新されたベースイメージを常にチェックしているようです...

月はイメージIDの一部であるため、これはDockerイメージの月次再構築の一部です。

Dockerイメージは現在再びキャッシュされているため、Dockerイメージの再構築は発生しないため、少なくとも今月はエラーが再発しないはずです。

〜14個のDockerイメージで100プル制限を超える方法がまだわかりません。

ご覧いただきありがとうございます。 :sparkling_heart:はい、少し奇妙に見えます。14個のDockerイメージしかなく、月に1回だけプルする場合は、制限をはるかに下回る必要がありますか?

ハブ上にない更新されたベースイメージを常にチェックしているようです...

hub.libelektra.orgは次のように構成されていますか:

クォータを回避する最も簡単な方法は、CIのDockerハブアカウントを作成することです。 オープンソースプログラムがあるので、おそらく無制限のアカウントの資格があります。

それが助けになれば、私はアプリケーションを行うことができます。 しかし、最初に、実際に問題が何であるかを知る必要があります。

DockerHubがレート制限を追跡する方法がわかりません。 IPに基づいていると思います。そうでないと、ローカルでリセットするのが簡単すぎます。 その場合、このIPを介してDocker Hubに表示されるのはビルドサーバーだけですか?

はい、ビルドサーバーには専用IPがあり、複数のIPがあり、Dockerを使用するのはCIだけです。

Dockerイメージが14枚だけで、毎月プルするだけの場合、制限をはるかに下回るはずですか?

Jenkins Pipelineは、Docker Hubから常にプルしようとするジョブ(Webサイトの場合と思います)を実行しているようです: https

これは、 build --pull使用しているために発生します。

デフォルトではbuild--pull )を使用し、毎週または毎月--pull実行する必要があります。

見つけてくれてありがとう! :sparkling_heart:

この問題の原因を見つけていただきありがとうございます!

--pullを削除する代わりに、elektraがまだインストールされていない(依存関係とgtestがインストールされている場合のみ)webuiベースのベースイメージを作成することもできます。 このベースイメージは、他のイメージと同様に毎月作成され、webuiベースイメージはこのベースイメージから拡張され、プライベートDockerレジストリからのみプルされます(したがって、プル制限には影響しません)

elektraがまだインストールされていないwebuiベース

私はこのアイデアが好きです! Dockerのプル制限に関係なく、これは改善されます。

elektraがまだインストールされていないwebuiベース

はい、それもオプションになります。 問題の画像は、実際のwebuiおよびelektrad画像のベース画像です。 したがって、Elektraのコピーとビルドを他のDockerfilesに移動するだけで済みます。 それとも、多段階ビルドのソリューションがありますか? 中間段階をレジストリにプッシュ/レジストリからプルできるかどうかはわかりません。

昨日、プルステージのみが実行されたjenkinsで共有ライブラリをテストしていました。 イメージの構築は行われず、hub.libelektra.orgのプライベートDockerレジストリからプルするだけで、Dockerレート制限エラーが発生します。 私はもう少し深く見て、問題の原因を見つけることができました。
これはwatchtowerで、指定された間隔で画像を更新する実行中のコンテナです。 この問題は、最新リリースで修正されるはずです。 この画像を更新し、ポーリング間隔をより高い値に設定します。
ものみの塔コンテナのログも私の仮定を裏付けています。

time="2020-11-16T22:22:58Z" level=info msg="Unable to update container /frontend_repo_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:22:59Z" level=info msg="Unable to update container /frontend_registry_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:23:00Z" level=info msg="Unable to update container /frontend_letsencrypt-nginx-proxy-companion_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:23:01Z" level=info msg="Unable to update container /frontend_nginx-proxy_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:23:02Z" level=info msg="Unable to update container /frontend_watchtower_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:23:04Z" level=info msg="Unable to update container /frontend_libelektra-webui_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:23:28Z" level=info msg="Unable to update container /frontend_repo_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:23:29Z" level=info msg="Unable to update container /frontend_registry_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:23:30Z" level=info msg="Unable to update container /frontend_letsencrypt-nginx-proxy-companion_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."

見つけてくれてありがとう:sparkling_heart:

@robaerdこれを閉じることができますか、それとも他に何かすることがありますか?

アーティファクトステージ(webui、Webサイト、パッケージテスト)で使用されるすべてのDockerイメージは、プライベートレジストリではなくdocker.orgから取得されます。 これでDockerのプル制限を超えることは決してないので、これはおそらく別の問題になるはずです。 ただし、望楼の画像が更新されたため、この問題を修正し、IMHOを閉じることができます。

おそらく他に何もする必要はありません。 制限に達していない場合は、docker.orgからプルしても問題ありません。

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

mpranj picture mpranj  ·  3コメント

sanssecours picture sanssecours  ·  3コメント

mpranj picture mpranj  ·  3コメント

markus2330 picture markus2330  ·  4コメント

dominicjaeger picture dominicjaeger  ·  3コメント