使用 containerd 时如何登录 docker hub?

使用 containerd 时如何登录 docker hub?

使用 docker 我可以运行docker login,但是如何使用ctr/做类似的事情containerd

由于达到速率限制,我们需要登录:

ctr:复制失败:httpReaderSeeker:打开失败:意外状态代码https://registry-1.docker.io/v2/library/[...]: 429 请求过多 - 服务器消息: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"

似乎不起作用。

答案1

是的,我也是,我不明白为什么。因此,我按照指南编辑了我的配置: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

相关内容