Назад к вопросам
Junior
67
questionbank

Что такое модуль сетевой контейнеризации в Docker?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Модуль сетевой контейнеризации (Container Network Module, CNM) — это спецификация Docker, определяющая модель взаимодействия контейнеров и внешнего мира. Он состоит из трех основных примитивов:

  • Sandbox: Сетевой стек контейнера, содержащий его интерфейсы, таблицы маршрутизации и DNS.
  • Endpoint: Точка подключения Sandbox-а к Network-у.
  • Network: Сетевой сегмент, к которому можно подключать Endpoints. Контейнеры, находящиеся в одном Network, могут общаться между собой.

CNM предоставляет плагинный интерфейс, позволяющий различным драйверам реализовать сетевые функции. Docker Engine управляет Sandbox-ами и Endpoints, а сетевые драйверы отвечают за создание и конфигурирование Network-ов.

Примеры встроенных сетевых драйверов Docker:

  • bridge: Создает NAT-сеть для контейнеров, которые могут общаться между собой и с внешним миром через IP хоста.
  • host: Контейнер использует сетевой стек хоста напрямую.
  • none: Контейнер не имеет сетевого интерфейса.
  • overlay: Создает распределенную сеть между несколькими Docker-хостами для swarm-сервисов.

Пример создания bridge-сети:

docker network create my_bridge_network

Подключение контейнера к этой сети:

docker run -d --network my_bridge_network nginx