1. 报错信息
bash
Failed to pull image "{ip}:{port}/{project}/{image}:v1": failed to pull and unpack image "{ip}:{port}/{project}/{image}:v1": failed to resolve reference "{ip}:{port}/{project}/{image}:v1": failed to do request: Head "https://{ip}:{port}//v1": http: server gave HTTP response to HTTPS client
2. 问题分析
错误信息表明服务器使用的是HTTPS协议(即端口443或其它HTTPS默认端口之外的端口,如这里的8858),但是客户端尝试使用HTTP协议(即端口80)进行连接。这通常是因为配置错误或者URL格式不正确。
3. 解决方法
修改/etc/containerd/config.toml,在 [plugins."io.containerd.grpc.v1.cri".registry]之下
添加如下配置
json
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."{ip}:{port}"]
endpoint = ["http://{ip}:{port}"]
[plugins."io.containerd.grpc.v1.cri".registry.configs]
[plugins."io.containerd.grpc.v1.cri".registry.configs."{ip}:{port}".tls]
insecure_skip_verify = true
然后再重启containerd
bash
sudo systemctl restart containerd