Как войти в Docker Hub при использовании контейнера?

С докером я бы запустилdocker login, но как сделать то же самое сctr/containerd?

Нам необходимо войти в систему из-за превышения лимита скорости:

ctr: не удалось скопировать: httpReaderSeeker: не удалось открыть: неожиданный код состояния https://registry-1.docker.io/v2/library/[...]: 429 Слишком много запросов — сообщение сервера: слишком много запросов: вы достигли своего ограничение скорости вытягивания. Вы можете увеличить лимит, пройдя аутентификацию и обновив: https://www.docker.com/increase-rate-limit.

Следуя документации контейнера с/etc/containerd/config.toml:

      version = 2
[plugins."io.containerd.grpc.v1.cri".registry.configs."docker.io".auth]
  username = "myusername"
  password = "mypassword"

кажется, не работает.

1 ответ

Да, я тоже, и я не понимаю почему. Итак, я отредактировал свою конфигурацию, как указано в руководстве: https://docs.d2iq.com/dkp/komander/1.4/operations/manage-docker-hub-rate-limits/

Как вы можете видеть, исходный код в документе

      [plugins."io.containerd.grpc.v1.cri".registry.configs."docker.io".auth]

Если изменить это (полный домен), все работает.

      [plugins."io.containerd.grpc.v1.cri".registry.configs."registry-1.docker.io".auth]

Перезапустите контейнер и проверьте.

Тестирование, написание bash-скрипта

      TOKEN=$(curl --user 'YOUR_LOGIN_USER:YOUR_LOGIN_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 | grep -i rate

Мой результат, доступен 198/200.

      ratelimit-limit: 200;w=21600
ratelimit-remaining: 198;w=21600
Другие вопросы по тегам