emon
emon

Reputation: 1949

Multiple Docker host machine communication

Suppose, I want to connect a container with another container, where both docker containers are running on a different machine. How do I do that? Hopefully, the attached picture will help to understand what I need. thanks.

enter image description here

Upvotes: 1

Views: 214

Answers (1)

David Maze
David Maze

Reputation: 158748

This works exactly the same way as if neither process was running in Docker: connect to the other system's IP address and the port you published when you launched the container.

machine02$ docker run --name m2-c1 -p 12345:80 image1
machine01$ docker run --name m1-c5 \
>            -e CONTAINER_1_URL=http://192.168.1.102:12345 \
>            image5

If you find yourself doing this often, a clustered setup like Kubernetes or Docker Swarm is built for this sort of environment. They have a piece called an overlay network that would allow all 10 containers to share a single "network", so you can directly call c1 as a host name and reach either copy of it. A non-Docker service discovery system, like Hashicorp's Consul, can also help remember what service is running on which node.

Upvotes: 1

Related Questions