Поиск…


Вступление

Начиная

Bridge Mode Это значение по умолчанию и привязано к мосту docker0. Поместите контейнер в полностью отдельное пространство имен.

Хост-режим Когда контейнер - это всего лишь процесс, запущенный на хосте, мы присоединяем контейнер к сетевому сетевому адаптеру.

Mapped Container Mode Этот режим по существу отображает новый контейнер в существующий сетевой стек контейнеров. Он также называется «контейнер в режиме контейнера».

Нет. Он сообщает, что докер ставит контейнер в свой собственный сетевой стек без конфигурации

Режим моста, режим хоста и режим отображения контейнера

Режим моста

$ docker run –d –-name my_app -p 10000:80 image_name

Обратите внимание, что нам не нужно указывать --net = bridge, потому что это рабочий режим по умолчанию для докеров. Это позволяет запускать несколько контейнеров для работы на одном и том же хосте без какого-либо назначения динамического порта. Таким образом, режим BRIDGE позволяет избежать столкновения портов, и это безопасно, поскольку каждый контейнер имеет собственное пространство имен частной сети.

Режим хоста

$ docker run –d –-name my_app –net=host image_name

Поскольку он использует пространство имен хост-сети, нет необходимости в специальной конфигурации, но может привести к проблеме безопасности.

Режим отображения контейнера

Этот режим по существу отображает новый контейнер в существующий сетевой стек контейнеров. Это означает, что сетевые ресурсы, такие как IP-адрес и сопоставления портов первого контейнера, будут совместно использоваться вторым контейнером. Это также называется режимом «контейнер в контейнере». Предположим, у вас есть две задачи: web_container_1 и web_container_2, и мы запустим web_container_2 в отображаемом режиме контейнера. Давайте сначала загрузим web_container_1 и запустим его в отдельный режим со следующей командой,

$ docker run -d --name web1 -p 80:80 USERNAME/web_container_1

Как только он загрузится, давайте посмотрим и убедитесь, что он работает. Здесь мы просто сопоставили порт в контейнер, который работает в режиме моста по умолчанию. Теперь давайте запустим второй контейнер в режиме отображения контейнера. Мы сделаем это с помощью этой команды.

$ docker run -d --name web2 --net=container:web1 USERNAME/web_container_2

Теперь, если вы просто получите информацию о интерфейсе на обоих контурах, вы получите ту же конфигурацию сети. Это фактически включает режим HOST, который отображает точную информацию о хосте. Первый contaienr работал в режиме моста по умолчанию, а второй контейнер запускался в режиме отображения контейнера. Мы можем получить очень похожие результаты, запустив первый контейнер в режиме хозяина и второй контейнер в отображаемом режиме контейнера.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow