I’m running Docker 17.09.0-ce on two machines with Ubuntu 16.04.
I have one as swarm manager and one as worker. The connection works and the stack deployment as well. But I can’t access the container on the manager machine from the worker container by hostname/containername etc.
This is my docker-compose.yml
version: "3.2" services: node: image: ubuntu deploy: placement: constraints: [node.role == manager] networks: - nodes command: sleep infinity node-woker: image: ubuntu networks: - nodes command: sleep infinity deploy: placement: constraints: [node.role == worker] networks: nodes: external: true
docker stack deploy --compose-file docker-compose.yml test
and it deploys to both server:
docker stack ps test ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS 7jxtn5wzadls test_node.1 ubuntu:latest db1 Running Running 13 minutes ago azqokudgtoxs test_node-woker.1 ubuntu:latest Ubuntu-1604-xenial-64-minimal Running Running 13 minutes ago
But if I exec into the worker-container and try to do a nslookup on the name of the first container (tried the service name “test_node.1”, “node”, “test_node”, “test_node.1.7jxtn5wzadls2ucnfsoq1fkee” etc. it can’t resolve anything.
If I run both containers in the same machine it works.
How can I reach the container on the other machine over the overlay network?