containerd 使用 docker 镜像加速器的问题

在 /etc/containerd/config.toml 中按下面的方式添加镜像加速器

[plugins]
[plugins."io.containerd.grpc.v1.cri".registry]
...
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["https://xxxxxx.mirror.aliyuncs.com"]

pull image 时没有走镜像加速器

# nerdctl pull docker.io/daprio/daprd:1.8.3
INFO[0011] trying next host                              error="failed to authorize: failed to fetch anonymous token: Get \"https://auth.docker.io/token?scope=repository%3Adaprio%2Fdaprd%3Apull&service=registry.docker.io\": net/http: TLS handshake timeout" host=registry-1.docker.io

请问如何解决这个问题?

回答

上面的配置方式是旧版 conainterd 采用的,已经 deprecated,改用新版配置方法解决了

  • /etc/containerd/config.toml 中, 在 [plugins."io.containerd.grpc.v1.cri".registry] 下面添加 config_path
    [plugins."io.containerd.grpc.v1.cri".registry]
      config_path = "/etc/containerd/certs.d"
  • 创建文件夹 /etc/containerd/certs.d/docker.io/,在其中添加包含下面内容的 hosts.toml 文件
[host."https://xxxxxx.mirror.aliyuncs.com"]
  capabilities = ["pull"]
  • 重启 containerd 使配置生效
systemctl restart containerd
以上是containerd 使用 docker 镜像加速器的问题的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>