Назад к вопросам
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