Was macht die Option -net = host im Befehl Docker wirklich??

Was macht die Option -net = host im Befehl Docker wirklich??
Docker ist ein Open-Source- und gut etabliertes Forum, das häufig zum Erstellen, Ausführen und Verteilen von Anwendungen in Containern verwendet wird. Die Container sind ausführbare Pakete, die die Anwendungsabhängigkeiten und den Code zusammenfassen. Um die Containeranwendung bereitzustellen, können Sie diese Container in verschiedenen Netzwerken wie Host-, Bridge- oder benutzerdefinierte Netzwerke ausführen.

Dieser Artikel wird ausgeht, was das "-net = hostOption hat im Docker -Befehl.

Was macht die Option "-net = host" im Befehl Docker??

Der "-Netz”Option in“Docker RunDer Befehl ”wird verwendet, um das Netzwerk für den Docker -Container anzugeben. Standardmäßig werden Container im Brückennetz ausgeführt. Allerdings das “-net = hostDie Option kann verwendet werden, um den Container im Host -Netzwerk auszuführen. Es gibt dem Docker -Container mehr Netzwerkzugriff als normalerweise.

So führen Sie den Befehl "Docker Run" mit und ohne die Option "-net = host" aus?

Um den Unterschied zwischen Containern, die im Standardnetzwerk und im Host -Netzwerk ausgeführt werden, zu überprüfen, sehen Sie sich die aufgeführten Beispiele an:

  • Verwenden Sie die “Docker RunBefehl ohne die “-Net-Host" Möglichkeit.
  • Verwenden Sie die “Docker RunBefehl mit dem “-Net-Host" Möglichkeit.

So verwenden Sie den Befehl "Docker Run" ohne die Option "-NET-Host"?

Standardmäßig enthält die Docker -Plattform drei Netzwerke: “Brücke","Gastgeber", Und "keiner”. Um alle Netzwerke aufzulisten, schauen Sie sich das folgende Beispiel an:

> Docker -Netzwerk LS

Wenn der Container ohne Angabe eines Netzwerks ausgeführt wird, wird standardmäßig Bridge Networking verwendet. Für die Demonstration finden Sie die folgenden Schritte.

Schritt 1: Machen Sie eine Dockerfile

Machen Sie eine Dockerfile, um die zu containieren “GolangProgrammieren und fügen Sie die angegebenen Anweisungen in die Datei ein:

Von golang: 1.8
WorkDir/Go/SRC/App
Hauptkopie.gehen .
Run Go Build -o -Webserver .
Entdecken Sie 8080: 8080
CMD ["./Webserver "]

Schritt 2: Docker -Bild erstellen

Generieren Sie als nächstes das Bild von Dockerfile mit Hilfe des angegebenen Befehls. Der "-TDie Option im folgenden Befehl gibt den Bildnamen an:

> Docker Build -t Go -Img .

Schritt 3: Führen Sie den Docker -Container aus

Verwenden Sie die “Docker RunBefehl ”, um den Container im Standard -ausgewählten Netzwerk auszuführen. Der "-DDie Option führt den Container im abgetrennten Modus aus:

> Docker Run -d Go -Img

Listen Sie nun den Container auf und überprüfen Sie, ob der Container im Standardnetzwerk ausgeführt wird oder nicht:

> Docker ps -a

Wenn die Ausgabe einen exponierenden Port wie “zeigt“TCP/"Dies bedeutet, dass der Container in einem Standardnetzwerk ausgeführt wird und wenn keine Ausgabe in" vorliegt "HäfenSpalte oder Ausgabe wie “0.0.0.0: 8080 → 8080/TCPEs bedeutet, dass der Container auf Host ausgeführt wird:

Aus der obigen Ausgabe können Sie feststellen, dass unser Container im Standard -ausgewählten Netzwerk ausgeführt wirdBrücke”.

So verwenden Sie den Befehl "Docker Run" mit der Option "-NET-Host"?

Um den Container im Host -Netzwerk auszuführen, verwenden Sie die “-net = hostOption wie unten gezeigt:

> Docker Run -d --net = Host GO -IMG

Für die Überprüfung listen Sie alle Container auf. Hier wird in der “keine Ausgabe angezeigtHäfenSpalte, was bedeutet, dass unser Container im Host -Netzwerk verarbeitet und an jedem Port des Host -Netzwerks zugegriffen werden kann:

> Docker ps -a

Hier geht es darum, was die “-net = hostOption macht und wie man es in Docker verwendet.

Abschluss

Der "-net = hostDie Option wird verwendet, um den Docker -Container im Host -Netzwerk auszuführen. Wenn diese Option in der “nicht angegeben istDocker RunBefehl, sein mittlerer Container wird im Brückennetz ausgeführt. Um den Container auf dem Host auszuführen, verwenden Sie das “Docker run -net = Option " Befehl. Diese Beschreibung hat gezeigt, was die “-net = hostOption hat im Docker -Befehl.