1

我正在使用容器作为运行时设置我的 K8s 集群。现在,当我尝试使用以下方式提取图像时:

sudo ctr image pull 192.168.1.2:5000/my-alpine:latest

它给了我一个错误:

ctr:无法解析参考“192.168.1.2:5000/my-alpine:latest”:请求失败:头https://192.168.1.2:5000/v2/my-alpine/manifests/latest:http:服务器向 HTTPS 客户端提供了 HTTP 响应

我的 /etc/containerd/config.toml

[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://registry-1.docker.io"]
    [plugins."io.containerd.grpc.v1.cri".registry.mirrors."192.168.1.2:5000"]
      endpoint = ["http://192.168.1.2:5000"]
  [plugins."io.containerd.grpc.v1.cri".registry.configs]
    [plugins."io.containerd.grpc.v1.cri".registry.configs."192.168.1.2:5000".tls]
      insecure_skip_verify = true

我在这里想念什么?当我从 Kubernetes 部署中提取图像并且也遇到相同的错误时。

4

1 回答 1

0

因为您已经将端点设置为 ["http://192.168.1.2:5000"],并且还指定了 HTTP。因此无需通过添加配置再次执行此操作

  [plugins."io.containerd.grpc.v1.cri".registry.configs]
    [plugins."io.containerd.grpc.v1.cri".registry.configs."192.168.1.2:5000".tls]
      insecure_skip_verify = true

所以你可以将它修改为

[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://registry-1.docker.io"]
    [plugins."io.containerd.grpc.v1.cri".registry.mirrors."192.168.1.2:5000"]
      endpoint = ["http://192.168.1.2:5000"]

希望有用

于 2021-04-09T06:29:20.997 回答