Wat doet de optie '–net=host' in Docker Command echt?

Wat Doet De Optie Net Host In Docker Command Echt



Docker is een open-source en gerenommeerd forum dat vaak wordt gebruikt om applicaties in containers te maken, uit te voeren en te distribueren. De containers zijn uitvoerbare pakketten die de toepassingsafhankelijkheden en code inkapselen. Om de containertoepassing te implementeren, kunt u deze containers uitvoeren op verschillende netwerken, zoals host-, bridge- of door de gebruiker gedefinieerde netwerken.

Dit artikel gaat dieper in op wat de “ –net=host ” optie doet in de Docker-opdracht.

Wat doet de optie '–net=host' in de Docker-opdracht?

De ' -netto ” optie in de “ havenarbeider rennen ” commando wordt gebruikt om het netwerk voor de Docker-container op te geven. Standaard draaien containers op het bridge-netwerk. Echter, de ' –net=host ” optie kan worden gebruikt om de container op het hostnetwerk uit te voeren. Het geeft de Docker-container meer netwerktoegang dan normaal.







Hoe voer ik de opdracht 'docker run' uit met en zonder de optie '–net=host'?

Bekijk de vermelde voorbeelden om het verschil te controleren tussen containers die op het standaardnetwerk en het hostnetwerk worden uitgevoerd:



Hoe de opdracht 'docker run' te gebruiken zonder de optie '–net-host'?

Het Docker-platform biedt standaard drie netwerken: “ brug ”, “ gastheer ', En ' geen ”. Bekijk het onderstaande voorbeeld om alle netwerken op te sommen:



> docker-netwerk ls





Wanneer de container wordt uitgevoerd zonder een netwerk op te geven, wordt standaard gebruik gemaakt van bridge-netwerken. Bekijk de onderstaande stappen voor de demonstratie.

Stap 1: Maak een Dockerfile

Maak een Dockerfile om de ' golang ” programma en plak de gegeven instructies in het bestand:



VAN golang: 1.8

WERKDIR / gaan / src / app

KOPIEER main.go .

RUN ga bouwen -O web Server .

BLOOTSTELLEN 8080 : 8080

CMD [ './web Server' ]

Stap 2: Docker-afbeelding bouwen

Genereer vervolgens de afbeelding uit Dockerfile met behulp van de meegeleverde opdracht. De ' -T ” optie in de onderstaande opdracht specificeert de naam van de afbeelding:

> dokwerker gebouwd -T ga-img.

Stap 3: Voer de Docker-container uit

Gebruik de ' havenarbeider rennen ” opdracht om de container op het standaard geselecteerde netwerk uit te voeren. De ' -D ” optie voert de container uit in vrijstaande modus:

> havenarbeider rennen -D ga-img

Maak nu een lijst van de container en controleer of de container wordt uitgevoerd op het standaardnetwerk of niet:

> havenarbeider ps -A

Als de uitvoer een blootliggende poort laat zien, zoals ' tcp/ ' het betekent dat de container op een standaardnetwerk draait en als er geen uitvoer is in ' havens ” kolom of output zoals “ 0.0.0.0:8080→8080/tcp ” het betekent dat de container wordt uitgevoerd op de host:

Uit de bovenstaande uitvoer kunt u zien dat onze container wordt uitgevoerd op het standaard geselecteerde netwerk ' brug ”.

Hoe de opdracht 'docker run' te gebruiken met de optie '–net-host'?

Om de container op het hostnetwerk uit te voeren, gebruikt u de ' –net=host ” optie zoals hieronder weergegeven:

> havenarbeider rennen -D --netto =host go-img

Maak voor de verificatie een lijst van alle containers. Hier wordt geen uitvoer weergegeven in de ' havens ” kolom, wat betekent dat onze container wordt verwerkt op het hostnetwerk en toegankelijk is via elke poort van het hostnetwerk:

> havenarbeider ps -A

Het gaat er allemaal om wat de “ –net=host ” optie doet en hoe het te gebruiken in Docker.

Conclusie

De ' –net=host ” optie wordt gebruikt om de Docker-container op het hostnetwerk uit te voeren. Als deze optie niet is opgegeven in de ' havenarbeider rennen ” commando, zal de gemiddelde container worden uitgevoerd op het bridge-netwerk. Om de container op de host te laten draaien, gebruikt u de ' docker run –net=optie ” commando. Dit artikel heeft aangetoond wat de ' –net=host ” optie doet in de Docker-opdracht.