Docker Swarm installation. Connect: no route to host error

Need to setup a 3 node (D1, D2 & D3) docker cluster using swarm and install ElasticSearch & Kibana with each node on respective Oracle virtual Linux ( 7.4). D1 is Master node and D2, D3 worker nodes

Once docker engine is installed. Followed this document to create a swarm. However , while executing the command on D2 or D3 gets below error:

Command: sudo docker swarm join --token <Token-ID> <IP>:2377

Error: Error response from daemon: rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = "transport: Error while dialing dial tcp <IP>:2377: connect: no route to host"

All theses node servers are on the same network and no firewall restrictions.
sudo netstat -tulpn | grep LISTEN shows ports 2377, 7946 are listening but don’t see port 4789 as mentioned here.

Is this Port closed the issue or anything else? Please assist.

Topic is related to How to Install docker from start.

I am sorry, but my response remains pretty much the same, as it was in the related topic… Especially since the error message makes no sense if all nodes are in the same subnet, for all we know It could be a bug of the oracle maintained docker package.

In you expect vanilla docker behavior, you will have to use a docker-ce package from docker’s repo of one of the supported OSes.

I resolved above error by running below on master node:
sudo systemctl stop firewalld.service

firewalld is a zone-based(host) customizable firewall and the above command disables the service until reboot.

However, while running a command “docker-compose -f create-certs.yml run --rm create_certs”, it downloads a newer image but gives below Error:

Status: Downloaded newer image for
**ERROR: Cannot create container for service create_certs: failed to mount local volume: mount /mnt/elasticmount/es11/config:/var/lib/docker/volumes/es-dev_config/_data, flags: 0x1000:                                                 no such file or directory**

I havn’t mounted directories to /mnt/elasticmount/ location so there is no folder es11. How can i mount it in docker. @meyay - I’m hoping this latest error isn’t specific to Oracle Linux and related to docker

Please share the exact compose file you used for the deployment AND the output of docker container inspect create_certs.

Just to be sure: are you aware that swarm stacks are deployed using docker stack deploy -c create-certs.yml a-nice-stack-name? Docker compose only does single node multi container deployments.