me_edu
Docker для разработчиковШаг 16 из 23 · 0% пройдено
Тома и сети · Тома и сети

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

Сеть mynetКонтейнер appКонтейнер dbКонтейнеры в одной сети находят друг друга по имени, без IP-адресов
Контейнеры в одной сети находят друг друга по имени, без IP-адресов

Контейнеры по умолчанию изолированы, но часто им нужно общаться: веб-приложению — с базой данных, например. Для этого Docker создаёт сети.

Контейнеры в одной сети находят друг друга по имени. Создадим сеть и подключим к ней два контейнера:

docker network create mynet docker run -d --name db --network mynet postgres docker run -d --name app --network mynet myapp

Теперь контейнер app может обращаться к базе по адресу db (имя контейнера работает как имя хоста) — не нужно знать IP-адрес. Docker сам ведёт внутренний «справочник имён».

Это ключевой принцип: вместо жёстких IP-адресов сервисы обращаются друг к другу по понятным именам. Ручное создание сетей и подключение контейнеров по одному быстро надоедает — поэтому многосервисные приложения описывают декларативно через Docker Compose, о чём следующий раздел.

Назад

Обсуждение

Войдите, чтобы участвовать в обсуждении.

Пока нет сообщений.