AWSで docker pull を利用していた際にこのエラーについて調べたところ
2024年12月のプラン内容変更でレート制限も変わるようなのでまとめてみました。
- Server message: toomanyrequests: You have reached your pull rate limit.
- You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
エラー解説
Docker pullには6時間あたりの制限が設定されており、
特に無料で利用できるこの制限に引っかかっている人が多いと思います
(有料プランのユーザ制限はこの後に記載しています)
匿名ユーザ | ログインユーザ |
---|---|
6時間あたり100回 | 6時間あたり200回 |
どうして制限が必要なのか
Docker公式の記事を引用すると
「1%のユーザが全体の30%のリクエストを利用している。残りの98~99%のユーザのパフォーマンスを下げる要因となっているため制限を設ける」という趣旨のことが書かれています
本文が気になる人はこちらの記事を見て下さい
レート制限について
2020年から適用されているレート制限なのですが
2024年12月09日 のプラン内容の更新でレート制限も変更されるようです。
公式のURLはこちら
実際に下記に書き出してみました
まずは料金について
現在
無料ユーザ | Docker Pro | Docker Team | Docker Business | |
---|---|---|---|---|
ユーザー1人あたりの 月額料金(年間プラン) |
$0 | $5 | $9 | $24* |
ユーザー1人あたりの 月額料金(月額プラン) |
$0 | $7 | $11 | $24* |
新プラン
無料ユーザ | Docker Pro | Docker Team | Docker Business | |
---|---|---|---|---|
ユーザー1人あたりの 月額料金(年間プラン) |
$0 | $11 | $16 | $24* |
ユーザー1人あたりの 月額料金(月額プラン) |
$0 | $9 | $15 | $24* |
*Businessプランは人数によって料金が変わる
レート制限 & pull制限について
現在
ユーザタイプ | レート制限 | ダウンロード制限 |
---|---|---|
匿名ユーザ | - | 6時間あたり100回 |
無料ユーザ | - | 6時間あたり200回 |
Docker Pro | レート制限なし | 1日あたり5000回 |
Docker Team | レート制限なし | 1日あたり5000回 |
Docker Business | レート制限なし | 1日あたり5000回 |
新プラン
ユーザタイプ | レート制限 | ダウンロード制限 |
---|---|---|
匿名ユーザ | IP アドレスごとに 1 時間あたり 10 回 | - |
無料ユーザ | 1時間あたり40回 | - |
Docker Pro | レート制限なし | 1日あたり5000回(月2.5万回) |
Docker Team | レート制限なし | 1日あたり5000回(月10万回) |
Docker Business | レート制限なし | 1日あたり5000回(月100万回) |
レート制限 & pull制限の回避策
1. プランをアップグレードする
匿名アカウントで利用している人はDockerのアカウント作成&ログインすることでpullできる回数が2倍になります!
2. コンテナイメージを同じ環境に保存する
AWSの場合はECR、GCPの場合はContainer Registryなどコンテナイメージを格納できる場所に公式からpullしてきて保存しましょう
まとめ
実際に環境によってPHPやNginx Go etc...
とDockerイメージをPULLする回数と時間はマチマチなのでエラーが起きてからこの記事、このエラーを知る人は多いはずです
ローカル環境やクラウドサービス上での構築、リリースなどでこのようなエラーが起きると
「今すぐ反映したいのに出来ない!」
「よくわからないけれどエラーが出た!」
といったことが起こり得るのでこの機会にみなさん気をつけましょう!
ここまで見て頂き ありがとうございました!