docker network create --driver bridge alpine-net docker run -dit --name alpine1 --network alpine-net alpine ash docker run -dit --name alpine2 --network alpine-net alpine ash docker run -dit --name alpine3 --network container:alpine2 alpine ash
My question is when I get into the container alpine1. Then, I ping the ip address of container alpine2 (172.19.0.3). How could the Docker daemon know whether I want to go to alpine2 or alpine3?
Aren’t both the container alpine2 and alpine3 share the same ip address (172.19.0.3)? How could Docker daemon know which one to route the traffic to?
docker exec -it alpine1 /bin/sh / # ping 172.19.0.3 PING 172.19.0.3 (172.19.0.3): 56 data bytes 64 bytes from 172.19.0.3: seq=0 ttl=64 time=0.075 ms 64 bytes from 172.19.0.3: seq=1 ttl=64 time=0.114 ms 64 bytes from 172.19.0.3: seq=2 ttl=64 time=0.103 ms