技術ブログ

DockerHubのRate Limitの残数を確認する

2021年3月31日

DockerHub から Docker イメージをプルするときの Rate Limit の残りを確認する機会があったので、手順を残しておきます。内容は Checking Your Current Docker Pull Rate Limits and Status - Docker Blog を参照しました。docker pull の Rate Limits について詳しくは Increase Rate Limits | Docker を参照。

未ログイン状態の Rate Limit 残りを確認

以下のコマンドでトークンを取得し、変数に入れます。jq コマンドが必要ですので Download jq を参考に事前にインストールしておきます。

TOKEN=$(curl "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull" | jq -r .token)

以下のコマンドで Rate Limits の残りを確認します。

curl --head -H "Authorization: Bearer $TOKEN" https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest 2>&1 | grep RateLimit

実行結果です。RateLimit-Remaining: 96と表示されており、残りが 96 であることが分かります。

< RateLimit-Limit: 100;w=21600
< RateLimit-Remaining: 96;w=21600

最初のトークン取得のコマンドで RateLimit の残りが 1 減ることにご注意ください。

ログイン状態の Rate Limit 残りを確認

以下のコマンドでトークンを取得し、変数に入れます。--user 'username:password'のところは、ご自身の DockerHub のユーザ名とパスワードに置き換えてください。

TOKEN=$(curl --user 'username:password' "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull" | jq -r .token)

以下のコマンドで Rate Limit の残りを確認します。

curl --head -H "Authorization: Bearer $TOKEN" https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest 2>&1 | grep RateLimit

実行結果です。

< RateLimit-Limit: 200;w=21600
< RateLimit-Remaining: 176;w=21600

-技術ブログ
-