docker login Harbor时报错403 Forbidden

背景

在本地搭建了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

原文地址:https://www.cnblogs.com/jack-233/p/11428335.html