Лучший способ установить межконтейнерную связь - создать сетевой мост .
- Создать мост
docker network create <network-name>
Пример: docker network create my-net
- Создание контейнеров, связанных с ранее созданным мостом.
docker run --name <container-name> --network <network-name> <image>
Пример:
docker run -d --rm --name my-bb1 --network my-net nginx:alpine
docker run -d --rm --name my-bb2 --network my-net nginx:alpine
- Доступ к my-bb1 с my-bb2
docker exec my-bb2 ping my-bb1
PING my-bb1 (172.18.0.3): 56 data bytes
64 bytes from 172.18.0.3: seq=0 ttl=64 time=0.165 ms
64 bytes from 172.18.0.3: seq=1 ttl=64 time=0.184 ms
^C
Имена контейнеров будут сохраняться между перезагрузками. Поэтому, пока имена контейнеров не меняются, вы сможете получать к ним доступ в одной и той же сети контейнеров.
Я также настоятельно рекомендую использовать docker-compose , когда задействовано более одного контейнера.