配置insecure-registries后仍遇“server gave HTTP response to HTTPS client”错误
我已完成以下操作:
- 运行本地Docker私有仓库:
docker run -d -p 5000:5000 --restart=always --name local-registry registry:2
- 在Mac的
~/.docker/daemon.json中配置不安全仓库地址:
{ "insecure-registries" : [ "192.168.4.26:5000" ], "debug" : true, "experimental" : false, "builder" : { "gc" : { "defaultKeepStorage" : "20GB", "enabled" : true } } }
- 重启所有服务甚至整机,通过
docker info确认配置已生效:
Insecure Registries: 192.168.4.26:5000 127.0.0.0/8
但执行以下部署命令时:
kubectl delete pod test kubectl run test --image 192.168.4.26:5000/split-server:latest kubectl describe pod test
仍出现错误“server gave HTTP response to HTTPS client”,具体事件信息如下:
Events:
Type Reason Age From MessageNormal Scheduled 17m default-scheduler Successfully assigned default/test to minikube
Normal Pulling 16m (x4 over 17m) kubelet Pulling image "192.168.4.26:5000/split-server:latest"
Warning Failed 16m (x4 over 17m) kubelet Failed to pull image "192.168.4.26:5000/split-server:latest": rpc error: code = Unknown desc = Error response from daemon: Get "https://192.168.4.26:5000/v2/": http: server gave HTTP response to HTTPS client
Warning Failed 16m (x4 over 17m) kubelet Error: ErrImagePull
Warning Failed 15m (x6 over 17m) kubelet Error: ImagePullBackOff
Normal BackOff 2m32s (x66 over 17m) kubelet Back-off pulling image "192.168.4.26:5000/split-server:latest"
我使用OSX系统,minikube为最新版本,为何仍出现该错误?还有哪些可能的原因?
内容的提问来源于stack exchange,提问作者David Martin

