@@ -73,21 +73,27 @@ healthCheck() {
7373HTTP_HOST=127.0.0.1
7474HTTP_PORT={{.Context.Config.ExportPort}}
7575
76- # Auto-detect a reachable host for Windows service from container context
77- WINDOWS_HOST= $( grep -m1 nameserver /etc/resolv.conf 2> /dev/null | awk ' {print $2} ' )
78- POSSIBLE_HOSTS=(host.docker.internal ${WINDOWS_HOST} 127.0.0.1)
76+ # Container uses network_mode: host, so 127.0.0.1 should work directly
77+ echo " [DEBUG] Waiting 10s for Windows service to start... "
78+ sleep 10
7979
80- for candidate in " ${POSSIBLE_HOSTS[@]} " ; do
81- [ -z " $candidate " ] && continue
82- echo " Probing health endpoint via $candidate :$HTTP_PORT ..."
83- if curl --max-time 5 -is " http://$candidate :$HTTP_PORT /health" | grep -qE " HTTP/.*\s+200" ; then
84- HTTP_HOST=$candidate
85- echo " Selected HTTP_HOST=$HTTP_HOST "
86- break
87- fi
88- done
80+ # Debug network connectivity from container side
81+ echo " [DEBUG] Container network debug:"
82+ echo " [DEBUG] - Container hostname: $( hostname) "
83+ echo " [DEBUG] - Container IP addresses:"
84+ ip addr show || ifconfig || echo " No ip/ifconfig available"
85+ echo " [DEBUG] - /etc/hosts content:"
86+ cat /etc/hosts
87+ echo " [DEBUG] - /etc/resolv.conf content:"
88+ cat /etc/resolv.conf
89+ echo " [DEBUG] - Testing localhost resolution:"
90+ nslookup localhost || echo " nslookup failed"
91+ echo " [DEBUG] - Testing 127.0.0.1 connectivity:"
92+ ping -c 1 127.0.0.1 || echo " ping 127.0.0.1 failed"
93+ echo " [DEBUG] - Testing port 8080 on 127.0.0.1:"
94+ nc -zv 127.0.0.1 8080 || telnet 127.0.0.1 8080 || echo " Port 8080 not reachable"
8995
90- # Sync expected file host to the selected HTTP_HOST to avoid mismatch
96+ # Sync expected file host to match the actual HTTP_HOST
9197if [ -f /workspace/config/excepted.yml ]; then
9298 sed -i " s#service:8080#${HTTP_HOST} :8080#g" /workspace/config/excepted.yml || true
9399fi
0 commit comments