背景
在本地搭建了harbor后,在进行了相关配置后,还是报错:Error response from daemon: login attempt to http://10.xx.xx.xx:8000/v2/ failed with status: 403 Forbidden.其中http://10.xx.xx.xx:8000 是我搭建的harbor服务的网址。
前提
首先根据命令:systemctl status docker 找到如下log:
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
通过log找到docker配置文件,在/lib/systemd/system/docker.service文件中将**ExecStart=/usr/bin/dockerd **改为如下并保存:
ExecStart=/usr/bin/dockerd --insecure-registry=10.xx.xx.xx:8000
在配置完成后重启:
sudo systemctl daemon-reload && sudo systemctl restart docker
解决
在配置完成后运行docker login命令:
docker login 10.xx.xx.xx:8000 -u admin -p Harbor12345
还是报错“403 Forbidden”,报该错误可能是docker没有识别到出harbor服务的网址,将该网址加上代理去处理了。此时需要删除/etc/systemd/system/docker.service.d目录下的http-proxy.conf和https-proxy.conf文件。
我再删除掉上述的文件后,login成功。
参考文档
https://www.cnblogs.com/tylzzh/p/9779239.html
https://www.jianshu.com/p/48b2136c37c2