http: server gave HTTP response to HTTPS client
出現這問題的原因是:Docker自從1.3.X之后docker registry交互默認使用的是HTTPS,但是搭建私有鏡像默認使用的是HTTP服務,所以與私有鏡像交時出現以上錯誤。
這個報錯是在本地上傳私有鏡像的時候遇到的報錯:
解決辦法是:在docker server啟動的時候,增加啟動參數,默認使用HTTP訪問:
vim /usr/lib/systemd/system/docker.service
在12行后面增加 --insecure-registry ip:5000
修改好后重啟docker 服務
systemctl daemon-reload
systemctl restart docker
重啟docker服務后,將容器重啟
docker start $(docker ps -aq)
如果上述方法還是不能解決,還可以通過以下辦法解決:
1.vim /etc/docker/daemon.json 增加一個daemon.json文件
{ "insecure-registries":["192.168.1.100:5000"] }
保存退出
2.重啟docker服務
systemctl daemon-reload
systemctl restart docker
3.重啟容器
4.上傳鏡像
docker push 。。。。
第二個問題是:Get https://192.168.2.119/v2/: dial tcp 192.168.2.119:443: getsockopt: connection refused
原因:沒有指定鏡像要上傳的地址,站點。默認的是docker.io
解決方法:docker tag <imagesname> <ip:port/image>
docker push ip:port/image