Junior
Какво е модулът за мрежова контейнеризация в Docker?
sobes.tech AI
Отговор от AI
Модулът за мрежа на контейнера (Container Network Module, CNM) е спецификация на Docker, която определя модела на взаимодействие между контейнерите и външния свят. Той се състои от три основни примитива:
- Sandbox: Мрежовият стек на контейнера, който съдържа неговите интерфейси, таблици за маршрутизация и DNS.
- Endpoint: Точката за свързване на Sandbox към мрежата.
- Network: Мрежовият сегмент, към който могат да се свързват Endpoints. Контейнерите в една и съща мрежа могат да комуникират помежду си.
CNM предоставя интерфейс за плъгини, който позволява на различни драйвери да реализират мрежови функции. Docker Engine управлява Sandbox-овете и Endpoints-ите, а мрежовите драйвери отговарят за създаването и конфигурирането на мрежите.
Примери за вградени драйвери за мрежа в Docker:
- bridge: Създава NAT мрежа за контейнерите, които могат да комуникират помежду си и с външния свят чрез IP на хоста.
- host: Контейнерът използва директно мрежовия стек на хоста.
- none: Контейнерът няма мрежов интерфейс.
- overlay: Създава разпределена мрежа между няколко Docker хоста за swarm услуги.
Пример за създаване на bridge мрежа:
docker network create my_bridge_network
Свързване на контейнер към тази мрежа:
docker run -d --network my_bridge_network nginx