PassFront
  1. PassFront
  2. База знаний
  3. Контейнеры, volumes и сети

Какие типы сетей есть в Docker и чем bridge отличается от host?

Контейнеры, volumes и сети

По умолчанию контейнер сидит в изолированной bridge-сети за NAT со своим IP, а в режиме host он разделяет сетевой стек с хостом без изоляции портов.

Bridge

  • Docker поднимает виртуальный мост docker0; контейнеры получают адреса вида 172.17.0.x.
  • Наружу порты пробрасываются явно: -p 8080:80.
  • Пользовательские bridge-сети дают встроенный DNS по имени контейнера — так сервисы находят друг друга в Compose.

Host

  • --network host: контейнер слушает порты хоста напрямую, без NAT и -p.
  • Минусы: нет изоляции, возможны конфликты портов; нативно — на Linux; в Docker Desktop (macOS/Windows) поддержка появилась с версии 4.34 и работает относительно Linux-VM.

Остальные драйверы

  • none — без сети вообще, для изолированных задач.
  • overlay — сеть между несколькими хостами, нужна оркестраторам.
  • macvlan — контейнер получает адрес прямо в физической сети.

Коротко для собеседования

Bridge даёт контейнеру изолированную сеть со своим IP за NAT, и порты наружу публикуют через -p; host убирает эту изоляцию и отдаёт контейнеру сетевой стек хоста. Сервисам, которые ищут друг друга по имени, нужна пользовательская bridge-сеть — в ней работает встроенный DNS.

Другие вопросы раздела