Какво наистина прави опцията „–net=host“ в командата Docker?

Kakvo Naistina Pravi Opciata Net Host V Komandata Docker



Docker е добре утвърден форум с отворен код, който често се използва за създаване, изпълнение и разпространение на приложения в контейнери. Контейнерите са изпълними пакети, които капсулират зависимостите и кода на приложението. За да разгърнете контейнеризираното приложение, можете да изпълните тези контейнери в различни мрежи, като например хост, мост или дефинирани от потребителя мрежи.

Тази статия ще разясни какво означава „ –net=хост ” прави в командата Docker.

Какво прави опцията „–net=host“ в командата Docker?

– мрежа ” опция в „ докер изпълнение ” командата се използва за указване на мрежата за контейнера на Docker. По подразбиране контейнерите работят в мостовата мрежа. Както и да е ' –net=хост ” може да се използва за изпълнение на контейнера в хост мрежата. Това дава на Docker контейнера повече достъп до мрежата, отколкото обикновено.







Как да изпълним командата „docker run“ със и без опцията „–net=host“?

За да проверите разликата между контейнерите, работещи в мрежата по подразбиране и хост мрежата, вижте изброените примери:



Как да използвате командата „docker run“ без опцията „–net-host“?

По подразбиране платформата Docker предоставя три мрежи: „ мост ”, “ домакин ', и ' нито един ”. За да изброите всички мрежи, вижте примера по-долу:



> докер мрежа ls





Когато контейнерът се изпълни, без да се посочи мрежа, по подразбиране той ще използва мостова мрежа. За демонстрацията вижте стъпките по-долу.

Стъпка 1: Направете Docker файл

Направете Dockerfile, за да контейнеризирате „ golang ” и поставете дадените инструкции във файла:



ОТ golang: 1.8

WORKDIR / отивам / src / ап

КОПИРАНЕ main.go .

БЯГАЙТЕ, отидете да строите уеб сървър .

ИЗЛОЖИ 8080 : 8080

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

Стъпка 2: Създайте изображение на Docker

След това генерирайте изображението от Dockerfile с помощта на предоставената команда. „ -T ” в командата по-долу указва името на изображението:

> изграждане на докер -T go-img .

Стъпка 3: Изпълнете Docker контейнера

Използвайте „ докер изпълнение ”, за да стартирате контейнера в избраната по подразбиране мрежа. „ ” опцията изпълнява контейнера в отделен режим:

> докер изпълнение go-img

Сега избройте контейнера и проверете дали контейнерът се изпълнява в мрежата по подразбиране или не:

> докер пс

Ако изходът показва някакъв излагащ се порт като „ tcp/<порт> ” това означава, че контейнерът работи в някаква мрежа по подразбиране и ако няма изход в „ пристанища ' колона или изход като ' 0.0.0.0:8080→8080/tcp ” означава, че контейнерът се изпълнява на хост:

От горния резултат можете да видите, че нашият контейнер се изпълнява в избраната по подразбиране мрежа ' мост ”.

Как да използвате командата „docker run“ с опцията „–net-host“?

За да изпълните контейнера в хост мрежата, използвайте „ –net=хост ”, както е показано по-долу:

> докер изпълнение --net =домакин go-img

За проверка избройте всички контейнери. Тук не се показва резултат в „ пристанища ”, което означава, че нашият контейнер се обработва в хост мрежата и може да бъде достъпен от всеки порт на хост мрежата:

> докер пс

Това е всичко за това, което „ –net=хост ” и как да го използвате в Docker.

Заключение

–net=хост ” опцията се използва за изпълнение на Docker контейнера в хост мрежата. Ако тази опция не е посочена в „ докер изпълнение ”, неговият среден контейнер ще се изпълни в мостовата мрежа. За да стартирате контейнера на хоста, използвайте „ docker run –net=option ” команда. Този запис показа какво е „ –net=хост ” прави в командата Docker.