Для чего в Docker используются кастомные bridge-сети и как их создать

Ответ

Кастомные bridge-сети в Docker создаются для изоляции групп контейнеров и организации их взаимодействия в рамках одной виртуальной сети, отделенной от сети по умолчанию (bridge).

Ключевые преимущества:

  • Изоляция: Контейнеры в разных кастомных сетях не могут общаться друг с другом напрямую, что повышает безопасность.
  • Встроенный DNS: Docker предоставляет автоматическое разрешение имен контейнеров в IP-адреса в пределах одной кастомной сети. Это позволяет контейнерам обращаться друг к другу по именам, а не по IP.
  • Гибкая конфигурация: Можно задавать подсети, шлюзы и другие сетевые параметры.

Пример создания и использования:

# 1. Создание кастомной bridge-сети
docker network create my-app-net

# 2. Запуск контейнера с базой данных в этой сети
docker run -d --name db --network my-app-net postgres

# 3. Запуск контейнера приложения, который сможет обратиться к БД по имени 'db'
docker run -d --name app --network my-app-net -e DATABASE_HOST=db my-app-image

В этом примере контейнер app сможет подключиться к postgres по адресу db, так как они находятся в одной кастомной сети my-app-net.