最近安装了harbor,使用起来还比较方便,可以用来做docker镜像多地同步,管理docker镜像非常方便,但是在使用中,偶尔会出现一些莫名的错误,比如在推送镜像到harbor时,报如下错误:unauthorized: authorization required
推送命令如下:docker push docker-registry:443/base-image/centos:7
鉴权也做了,在TTY上也能正常登录到docker registry,但是推送镜像时,就是不成功,就报这个错误,后来检查harbor项目列表时,发现在harbor上没有对应的项目名,(在harbor中只有base-images,而不是base-image),解决的办法有两个:
1.在harbor上添加一个项目base-image(这种方式不推荐,因为放在harbor上的镜像通常为常用工具,而不应该自创一些项目名);
2. 修改镜像名:操作简单,重新打一个tag,命令如下:
docker tag docker-registry:443/base-image/centos:7 docker-registry:443/base-images/centos:7
然后推送到docker registry上,