Docker: 公式プル制限の問題

問題: docker pull などの docker コマンドが制限されている

toomanyrequests: プル レート制限に達しました。認証とアップグレードによって制限を増やすことができます。Docker Hub のレート制限について | ドッカー


2020 年 11 月 20 日、Docker Hub は、個人の IP アドレスに基づいて、匿名および無料の認証ユーザーに対してイメージのプル数に制限を課しました。
匿名ユーザーの場合、制限は IP アドレスごとに 6 時間ごとに 100 回のプルに設定されます。
認証されたユーザーの場合、6 時間ごとに 200 回のプル。

では、残りのプル時間を確認するにはどうすればよいでしょうか?
匿名ユーザーはトークンを取得します。

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

ユーザーを認証してトークンを取得します。

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

ビルドコマンド:

curl --head -H "Authorization: Bearer $TOKEN" https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest

 結果は次のようになります。

HTTP/1.1 200 OK
content-length: 2782
content-type: application/vnd.docker.distribution.manifest.v1+prettyjws
docker-content-digest: sha256:767a3815c34823b355bed31760d5fa3daca0aec2ce15b217c9cd83229e0e2020
docker-distribution-api-version: registry/2.0
etag: "sha256:767a3815c34823b355bed31760d5fa3daca0aec2ce15b217c9cd83229e0e2020"
date: Wed, 17 May 2023 09:19:47 GMT
strict-transport-security: max-age=31536000
ratelimit-limit: 100;w=21600
ratelimit-remaining: 100;w=21600
docker-ratelimit-source: 150.230.220.46

つまり、私の制限は 21600 秒 (6 時間) ごとに 100 回のプルで、さらに 100 回のプルです。
 


解決策 1: 画像ソースを変更する

#打开配置文件
gedit /etc/docker/daemon.json

#添加配置,使用中科大的镜像
{
  "registry-mirrors": ["https://ustc-edu-cn.mirror.aliyuncs.com"]
}

#重置生效
systemctl daemon-reload && systemctl restart docker

解決策 2: IP を変更する

Docker を匿名でリクエストします。上限は IP を制限することです

アカウントのログイン方法を使用してリクエストします。上限はアカウントを制限することです

そのため、IPを変更すれば再度リクエストすることは可能ですが、手動で変更する場合は少し面倒です


解決策 3: Docker Hub Pro を購入する

ドッカープロ | ドッカー

年間 60 ドル、月額 7 ドル、1 日 5,000 回リクエスト可能

おすすめ

転載: blog.csdn.net/qq_44789957/article/details/130724558