报错详情
2023-04-20T10:29:09Z [ERROR] [/lib/http/error.go:54]: {"errors":[{"code":"UNKNOWN","message":"unknown: Get \"https://xxx.com/api/version\": dial tcp: lookup xxx.com on 127.0.0.11:53: read udp 127.0.0.1:41519-\u003e127.0.0.11:53: i/o timeout"}]} 2023-04-20T10:29:24Z [ERROR] [/lib/http/error.go:54]: {"errors":[{"code":"UNKNOWN","message":"unknown: Get \"https://xxx.com/api/version\": dial tcp: lookup xxx.com on 127.0.0.11:53: read udp 127.0.0.1:53645-\u003e127.0.0.11:53: i/o timeout"}]}
背景
harbor机器是个内网机器,原来是有一个外网代理机,在harbor.yml中定义了http_proxy,https_proxy。
现在这台外网代理机器撤掉了,换成了一台代理harbor域名的外网机器,即harbor-->域名代理机-->域名
。这样就不需要在harbor.yml中再定义代理了。
本地添加hosts,删除harbor.yml和config/jobservice,core-server/env中定义的代理后,docker-compose down
,docker-compose up -d
,harbor可以正常启动,但是无法访问域名,在本地直接curl可以通信。查看harbor日志有上面的报错。
解决
docker ps |grep core
docker exec -it xx bash
cat /etc/hosts
echo '192.168.1.1 xxx.com' >> /etc/hosts
我这里直接echo报错权限不够。修改docker-compose.yml
vim docker-compose.yml
# 在harbor-core中和images同级添加
images: harbor-core:xxx
extra_hosts:
- "xxx.com:192.168.1.1"
- "xxx.com:192.168.1.2"
docker-compose up -d
harbor-core重建后,再次尝试拉取镜像成功。