push到harbor的注意事项

先在/etx/docker/daemon.json设置好私有仓库,这里最好设置了端口如
在这里插入图片描述
登录上这个私有仓库
docker login 192.168.160.149:8089(指定端口)
在这里插入图片描述
在harbor建立一个项目了,叫harbor,这里是它的打标签和推送命令,按这两条命令里作即可上传成功

错误问题总结:
1.Error response from daemon: Get “https://192.168.160.149/v2/”: dial tcp 192.168.160.149:443: connect: connection refused
登录docker login时可能会有这个错误,如docker login 192.168.160.149,docker login默认走的是443端口,而我们设置的是8089端口,解决方法就是指定端口8089,与/etc/docker/daemon.json设置的一致,

另外,如果/etc/dockerdaemon.json中只写ip不指定端口,那么docker login ip是可以登录成功的,但是docker login走的是443即https端口,而harbor页面是8089端口,因此在后续的docker push会出现因为端口不一致出现错误,原理应该是docker login获取的token,报错记得是像http 405这样,总之,对于私有仓库,不论/etc/docker/daemon.json还是docker login,写明端口

2.denied: requested access to the resource is denied
push时遇到这样的错误,很简单,还没登录私有仓库,先docker login ip:port

3.error parsing HTTP 405 response body: invalid character '<' looking for beginning of value: "<html>\r\n<head><title>405 Not Allowed</title></head>\r\n<body>\r\n<center><h1>405 Not Allowed</h1></center>\r\n<hr><center>nginx/1.20.1</center>\r\n</body>\r\n</html>\r\n"
往往就是想1所说的,dcoker login和docker push走的端口不一致

4.Get “http://192.168.160.149:5000/v2/”: dial tcp 192.168.160.149:5000: connect: connection refused
一般是/etc/docker/daemon.json的insecure-registries没有设置这个ip及端口

附上几个文件的大致配置:

/etc/docker/daemon.json:
在这里插入图片描述
修改后要systemctl restart docker


~/harbor/harbor.yml:
在这里插入图片描述
修改后一般systemctl restart docker即可


~/harbor/docker-compose.yml:
在这里插入图片描述
将容器上暴露的8089端口映射到主机端口8080
修改后一般要docker-compose stop
./install.sh


版权声明:本文为weixin_45843419原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。