Docker Swarm Ingress Network Load Balancing Issue

Hello Experts,

I was practicing Docker Swarm Ingress network. I have created 1 Manager and 2 Worker nodes.

Manager: 192.168.39.21
Worker 1: 192.168.39.22
Worker 2: 192.168.39.23

Deployed an ‘httpd’ Service (container) with --replicas 1 and --publish 80:80. The container is now running on Manager only.

Now I’m able to access my web page by http://192.168.39.21:80 - Manager

but when I try to access the web app by other worker node IPs, it is not working.
http://192.168.39.22:80 - Worker 1
http://192.168.39.23:80 - Worker 2

As far as I understand, it should work with any of the node in the cluster with the internal load balancing. I have opened required firewall ports for Swarm.

Sped almost 2 days troubleshooting and referring internet but did not resolve. Could someone help please, I’m totally stuck, any help would be much appreciated.

Please share how you deployed the httpd service.

I have used docker service create --name web-app --publish 80:80 --replicas 1 httpd

The way you start your service does not bypass the inress. Thus, port 80 on all hosts should allow access to the task’s container, regardless where its running.

If you cluster is in a private environment, can you turn off the firewall for the sake of testing? If the cluster is in a public environment, please share opened up ports in your firewall (including TCP/UDP details as well)

Hi mayay,
Appreciate your time on this, My Docker swarm cluster runs on vmware, I have 3 CentOS 7 machines running Docker Engine Swarm mode. I tried disabling firewall but still do not able to access the Website from other nodes IP Address.

Am I missing something? Is there any logs we can check?