Docker

使用 containerd 時如何登錄 docker hub?

  • February 15, 2022

使用 docker 我會執行,但你如何使用/docker login做類似的事情?ctr``containerd

由於達到速率限制,我們需要登錄:

ctr:複製失敗:httpReaderSeeker:打開失敗:意外狀態碼https://registry-1.docker.io/v2/library/$$ … $$:429 Too Many Requests - 伺服器消息:toomanyrequests:您已達到拉取率限制。您可以通過身份驗證和升級來增加限制:https ://www.docker.com/increase-rate-limit

遵循containerd文件/etc/containerd/config.toml

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

似乎不起作用。

是的,我也是,我不明白為什麼。所以,我像指南一樣編輯了我的配置:https ://docs.d2iq.com/dkp/kommander/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]

重新啟動 containerd 並檢查。

測試,編寫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

引用自:https://serverfault.com/questions/1086316