Given the simplest example, the test swarm consists just of one node so all containers run in one place.
The stack is setup to run in a custom Docker network; the containers are not directly mapped to the host (if I do not want this explicitely) but the mesh network should take care.
Now I have observed the following:
- On a Windows machine, published ports are available (curl check OK)
- On a Linux machines with Ubuntu it works
- On a SLES machine it does not work
I consider, the design is that a custom network is not automatically mapped to host network.
What could be the problem with the SLES system? How to debug it?
Firewall does not seem to be a problem here: output for
iptables -L shows everywhere
Ingress mode is active (no difference with one host);
docker ps shows a live container listening on the proper tcp port.
I have tried as hostname: localhost, actual hostname, 127.0.0.2, host's IP. All tests in the host console. Also checks from outside.
Possibly related: https://github.com/moby/moby/issues/33972
How it works:
curl -d http://localhost:port/api .. nmap localhost -p -> meaningful output
How it does not work:
# same commands as above give the output: curl: (7) Failed to connect to localhost port ... nmap: 1234/tcp closed unknown