前言
出现问题:Error response from daemon: Get https://192.168.186.120/v1/users/: dial tcp 192.168.186.120:443: getsockopt: connection refused
http: server gave HTTP response to HTTPS client
出现这问题的原因是:Docker自从1.3.X之后docker registry交互默认使用的是HTTPS,但是搭建私有镜像默认使用的是HTTP服务,所以与私有镜像交时出现以上错误。
解决办法是:在docker server启动的时候,增加启动参数,默认使用HTTP访问:
解决跟Docker私有仓库登陆,推送,拉取镜像出现的报错
https://blog.51cto.com/u_15329153/3371143
一、解决方案
添加 --insecure-registry ip(harbor的主机IP)
修改好后重启docker 服务
systemctl daemon-reload
systemctl restart docker
登陆远程仓库报错:Error response from daemon: Get https://192.168.75.12/v2/: dial tcp 192.168.75.12:443: connect: connection refused
vim /etc/docker/daemon.json
{
"insecure-registries": ["https://192.168.75.12"]
}
systemctl restart docker
填写上私有仓库地址,注意是https形式
然后再使用docker login http://192.168.75.12进行登陆
然后docker login 到Harbor仓库
docker login http://192.168.4.207
Username: admin
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
[11:53:14 root@dxl-master ~]#docker images
[11:57:35 root@dxl-master ~]#docker tag nginx:1.14 192.168.4.207/base-images/nginx:1.4
[11:58:23 root@dxl-master ~]#docker images
[11:58:25 root@dxl-master ~]#docker push 192.168.4.207/base-images/nginx:1.4