Что на самом деле делает опция «-net=host» в команде Docker?

Cto Na Samom Dele Delaet Opcia Net Host V Komande Docker



Docker — это хорошо зарекомендовавший себя форум с открытым исходным кодом, который часто используется для создания, выполнения и распространения приложений в контейнерах. Контейнеры — это исполняемые пакеты, которые инкапсулируют зависимости и код приложения. Чтобы развернуть контейнерное приложение, вы можете запускать эти контейнеры в разных сетях, таких как хост, мост или определяемые пользователем сети.

В этой статье будет подробно рассказано о том, что « --net=хост ” делает в команде Docker.

Что делает параметр «-net=host» в команде Docker?

-сеть ” в разделе “ докер запустить ” используется для указания сети для контейнера Docker. По умолчанию контейнеры работают в сети моста. Однако ' --net=хост ” можно использовать для запуска контейнера в хост-сети. Это дает контейнеру Docker больше доступа к сети, чем обычно.







Как выполнить команду «docker run» с параметром «-net=host» и без него?

Чтобы проверить разницу между контейнерами, работающими в сети по умолчанию, и в сети хоста, посмотрите на перечисленные примеры:



Как использовать команду «docker run» без опции «-net-host»?

По умолчанию платформа Docker предоставляет три сети: мост », « хозяин ', и ' никто ». Чтобы перечислить все сети, взгляните на приведенный ниже пример:



> докер сеть лс





Когда контейнер выполняется без указания какой-либо сети, по умолчанию он будет использовать мостовую сеть. Для демонстрации выполните следующие шаги.

Шаг 1. Создайте Dockerfile

Создайте Dockerfile для контейнеризации « голанг » и вставьте данные инструкции в файл:



ОТ Голанга: 1,8

РАБОЧИЙКАТАЛОГ / идти / источник / приложение

Скопируйте main.go .

БЕГИ иди строй веб сервер .

РАЗОБЛАЧАТЬ 8080 : 8080

CMD [ './веб сервер' ]

Шаг 2. Создайте образ Docker

Затем сгенерируйте образ из Dockerfile с помощью предоставленной команды. “ ” в приведенной ниже команде указывает имя изображения:

> сборка докеров идти-изображение .

Шаг 3. Запустите контейнер Docker

Используйте « докер запустить ” для запуска контейнера в сети, выбранной по умолчанию. “ ” выполняет контейнер в отсоединенном режиме:

> докер запустить go-img

Теперь перечислите контейнер и проверьте, выполняется ли контейнер в сети по умолчанию или нет:

> докер PS

Если вывод показывает какой-либо открытый порт, например « tcp/<порт> », это означает, что контейнер работает в какой-то сети по умолчанию, и если в « порты ' столбец или вывод, как ' 0.0.0.0:8080→8080/TCP ” это означает, что контейнер выполняется на хосте:

Из приведенного выше вывода видно, что наш контейнер выполняется в сети, выбранной по умолчанию. мост ».

Как использовать команду «docker run» с опцией «-net-host»?

Чтобы запустить контейнер в хост-сети, используйте « --net=хост », как показано ниже:

> докер запустить --сеть = хост go-img

Для проверки перечислите все контейнеры. Здесь вывод не отображается в « порты », что означает, что наш контейнер обрабатывается в хост-сети и доступен на любом порту хост-сети:

> докер PS

Это все о том, что « --net=хост ” и как его использовать в Docker.

Заключение

--net=хост ” используется для запуска контейнера Docker в хост-сети. Если этот параметр не указан в « докер запустить », ее средний контейнер будет выполняться в мостовой сети. Чтобы запустить контейнер на хосте, используйте « docker run –net=option <изображение> команда. Эта статья продемонстрировала, что « --net=хост ” делает в команде Docker.