环境描述
多个访问者,无EIP。一台harbor server,有EIP。
问题现象
访问者访问harbor server出现以下报错,
(base) root@harbor-client:~# docker login 11.34.17.96:40000
Username: test1
Password:
Error response from daemon: Get "http://11.34.17.96:40000/v2/": Get "http://10.0.2.8:40000/service/token?account=ruichuang1&client_id=docker&offline_token=true&service=harbor-registry": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) (Client.Timeout exceeded while awaiting headers)
问题根因
harbor.yml文件的hostname填写内网IP导致该问题。hostname可以填写域名,若填写IP,必须填写EIP,或访问者可以直接访问到的IP,若填写内网IP,通过EIP访问web界面正常,docker login会出现网络异常提示。
处理方法
修改harbor.yml的hostname的IP地址为EIP。 在harbor的文件路径下执行以下命令
docker compose down -v
./prepare --with-trivy
docker compose up -d