В этой статье будет подробно рассказано о том, что « --net=хост ” делает в команде Docker.
Что делает параметр «-net=host» в команде Docker?
“ -сеть ” в разделе “ докер запустить ” используется для указания сети для контейнера Docker. По умолчанию контейнеры работают в сети моста. Однако ' --net=хост ” можно использовать для запуска контейнера в хост-сети. Это дает контейнеру Docker больше доступа к сети, чем обычно.
Как выполнить команду «docker run» с параметром «-net=host» и без него?
Чтобы проверить разницу между контейнерами, работающими в сети по умолчанию, и в сети хоста, посмотрите на перечисленные примеры:
- Использовать ' докер запустить «Команда без « --net-хост ' Вариант.
- Использовать ' докер запустить ” Команда с “ --net-хост ' Вариант.
Как использовать команду «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.