вторник, 26 февраля 2019 г.

Сети контейнеров Docker

Оказалось, что флаг --link - это устаревший способ соединения контейнеров. Теперь это можно делать с помощью сети.

При запуске докер создает три сети, из них чаще всего используется сеть bridge. Все контейнеры, которые запускаются на данной физической машине подсоединяются к ней. Каждому контейнеру присваивается ip-адрес. 

Посмотреть состояние сети (в т.ч. информацию по каждому контейнеру):
docker network inspect bridge

Выдрать ip-адрес контейнера yredis и сохранить в переменную IP_Y:
IP_Y=$(docker inspect --format '{{.NetworkSettings.IPAddress}}' yredis)

Изнутри контейнера xredis запустить консоль redis-cli, которую присоединить к экземпляру Redis, который крутится в контейнере yredis:
docker exec -it xredis redis-cli -h $IP_Y

Очевидно, про --link можно забыть. Если контейнеров хотя бы 5 штук - уже вручную их не увяжешь. А к bridge контейнеры присоединяются вручную.

Комментариев нет: