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

2021年3月31日

DockerHub から Docker イメージをプルするときの Rate Limit の残りを確認する機会があったので、手順を残しておきます。内容は How can I check my current rate | Docker Documentation を参照しました。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

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

ratelimit-limit: 100;w=21600
ratelimit-remaining: 96;w=21600
docker-ratelimit-source: xxx.xxx.xxx.xxx

最初のトークン取得のコマンドで 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

実行結果です。

ratelimit-limit: 200;w=21600
ratelimit-remaining: 176;w=21600
docker-ratelimit-source: xxx.xxx.xxx.xxx

-技術ブログ
-