push到harbor的注意事项

先在/etx/docker/daemon.json设置好私有仓库,这里最好设置了端口如
push到harbor的注意事项_第1张图片
登录上这个私有仓库
docker login 192.168.160.149:8089(指定端口)
push到harbor的注意事项_第2张图片
在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: "\r\n405 Not Allowed\r\n\r\n

405 Not Allowed

\r\n
nginx/1.20.1
\r\n\r\n\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:
push到harbor的注意事项_第3张图片
修改后要systemctl restart docker


~/harbor/harbor.yml:
push到harbor的注意事项_第4张图片
修改后一般systemctl restart docker即可


~/harbor/docker-compose.yml:
push到harbor的注意事项_第5张图片
将容器上暴露的8089端口映射到主机端口8080
修改后一般要docker-compose stop
./install.sh

你可能感兴趣的:(k8s,docker学习笔记,docker,容器,运维)