Open zhujian7 opened 5 years ago
@zhujian7 Did this error happen multiple times or just happen once?
Did this error happen multiple times or just happen once?
@yeya24 multiple times.
We have fixed that in the master branch. Could you please try again with the master branch? THX
@Starnop I tried with the master branch, but it still appears. Could you please tell me which PR fixed this problem.
I have the same problem
@cgzchen which version did you use? Did you solve the problem?
Some new additional information I found to supply: the environment I tested can not connect to the public network. And I found that the /etc/resolv.conf
in the supernode container is:
# cat /etc/resolv.conf
search localdomain
nameserver 8.8.8.8
nameserver 8.8.4.4
and /etc/hosts
holds:
....
122.168.3.218 test1.caicloudprivatetest.com
....
I got a conclusion that:
/etc/resolv.conf
, and because the environment can not connect to the public network 8.8.8.8
, timeout occurred.wget https://test1.caicloudprivatetest.com/v2/...
in the container manually, It used the /ect/hosts
to resolve the domain, and it succeeded.So I changed the /etc/resolv.conf
to empty, and the supernode can normally get the file length.
A remained question: what is the difference between the supernode procedure and wget
manually?
cc @cgzchen @Starnop
Add RUN test -e /etc/nsswitch.conf || echo 'hosts: files dns' > /etc/nsswitch.conf
in the supernode Dockerfile and rebuild a supernode image solved my problem.
/close
Ⅰ. Issue Description
supernode failed to get file length from http client:
but we can ping registry domain manually by wget in the supernode container:
I found the timeout is set to 4s:
Very confused why was it timeout?
Ⅱ. Describe what happened
Ⅲ. Describe what you expected to happen
Ⅳ. How to reproduce it (as minimally and precisely as possible)
1. 2. 3.
Ⅴ. Anything else we need to know?
Ⅵ. Environment:
uname -a
):