はじめに
2020年11月1日からDocker HubのPull回数制限が始まるのかー。
ログインせずにPullしてるし、それまでに対応しないといけないなーと考えていたのですが、思っていたよりも早くDocker HubのPull制限に引っかかってしまったので、原因と対応方法について調べました。
[Container] 2020/09/02 10:11:15 Running command docker build -t $REPOSITORY_URI:latest .
Sending build context to Docker daemon 122.9kB
Step 1/7 : FROM alpine:3.11
3.11: Pulling from library/alpine
cbdbe7a5bc2a: Pulling fs layer
error pulling image configuration: toomanyrequests: Too Many Requests. Please see https://docs.docker.com/docker-hub/download-rate-limit/
[Container] 2020/09/02 10:11:20 Command did not exit successfully docker build -t $REPOSITORY_URI:latest . exit status 1
原因
「Docker Hubがコンテナイメージの保存期間に加えてPull回数にも上限を設定すると発表」の
Pull回数の制限は保存期間の制限と同じく、2020年11月1日より適用されます。
を読んで、完全に勘違いしていました
今回問題に遭遇した際に一次ソースを確認したところ、Docker公式サイトの**「Download rate limit」**には、以下のように記載されていました。
Docker will gradually introduce these rate limits, with full effects starting from November 1st, 2020.
Dockerでは2020年11月1日から本格的な効果が出るように、これらのレート制限を段階的に導入していきます。
Docker HubのPull回数制限は段階的にではありますが、すでに導入が始まっていたのです。。。
対応方法
ログインなしの匿名ユーザの場合はIPアドレスをもとに制限されるため、自分で6時間あたり100回のダウンロードを実行していなかったとしても制限が適用されてしまう可能性があります。
(まさに今回の私がそうでした。。。)
このため、無料ユーザーでも問題ないのでDocker Hubに登録したユーザーでログインして、Pullを実行するようにしましょう。
$docker login
登録済みの無料ユーザーの場合は、6時間あたり200回まで無料でPullを実行することができます。
6時間あたり200回以上のPullを実行する必要がある場合は、ProプランもしくはTeamプランの利用を検討しましょう。
ユーザ | Pullの回数制限 |
---|---|
匿名ユーザー (ログインなし) |
6時間あたり100回まで1 |
無料ユーザー | 6時間あたり200回まで |
Proプランユーザー/ Teamプランユーザー |
無制限 |
あとがき
今回の教訓として、面倒くさがらずに一次ソースをちゃんと確認することが大事だなと思いました。
日頃から技術に関して呟いているので、Twitter もフォローしてもらえると嬉しいです。
参考情報
-
IPアドレスをもとに制限されるため、6時間あたり100回のダウンロードを実行していなかったとしても制限が適用されてしまう可能性あり。 ↩