Docker: проблема с официальным лимитом на вытягивание

Проблема: команды docker, такие как docker pull, ограничены

toomanyrequests: Вы достигли предела скорости вытягивания. Вы можете увеличить ограничение, выполнив аутентификацию и обновление: Понимание вашего ограничения скорости Docker Hub | Докер


20 ноября 2020 года Docker Hub ввел ограничение на количество извлечений образов для анонимных пользователей и пользователей с бесплатной проверкой подлинности на основе их личных IP-адресов.
Для анонимных пользователей установлено ограничение в 100 запросов на IP-адрес каждые 6 часов.
Для аутентифицированных пользователей 200 запросов каждые 6 часов.

Так как же нам проверить оставшееся время тяги?
Анонимный пользователь получает токен:

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

Это означает, что мой лимит составляет 100 рывков каждые 21600 секунд (6 часов) и еще 100 рывков.
 


Решение 1. Измените источник изображения

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

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

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

Решение 2. Изменить IP

Запрашивать докер анонимно, верхний предел — ограничение IP

Используйте метод входа в учетную запись для запроса, верхний предел - ограничение учетной записи

Таким образом, вы можете запросить снова, если вы измените IP, но это немного хлопотно, если вы измените его вручную.


Решение 3: купить docker hub pro

Докер Про | Докер

60 долларов в год, 7 долларов в месяц, вы можете запрашивать 5000 раз в день

Guess you like

Origin blog.csdn.net/qq_44789957/article/details/130724558