Docker service not accessible (networking)

Got a swarm-mode cluster of 2 (1 manager, 1 worker). Running docker run -d -p 5000:5000 image works fine, I can hit the UI from curl, browser, etc…

Running docker service create -p 5000:5000 image creates the service, running fine, but curl / browser result in connection refused (using same ip / port both times).

netstat -ptnl shows the host (dockerd) listening on 5000 but something clearly not right. What kind of information should I be looking for to debug this?

(server / client @ 1.12.1, OS SLES12)

As shared on the Docker Slack community by Madhu, this is caused by the missing presence of the IPVS kernel module on SLES 12.

Use these commands to load the kernel modules:

modprobe ip_vs
modprobe ip_vs_rr

The Docker team has indicated that they’ll be improving the Docker Swarm init / join process to check for these kernel modules.

Trevor Sullivan
Docker Captain, Microsoft MVP

1 Like

It seems Suse12 doesnt come by default with the IPVS kernel modules. Use this to install them : “zypper install ipvsadm cluster-network-kmp-default”

Hope that helps.

1 Like

Thanks Madhu, very helpful.

It does actually appear as a warning in the debug daemon logs, but I must have missed it when scanning them earlier. A warning when creating an overlay network where ip_vs is not available would be pretty useful I guess?