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:
- Gebruik de ' havenarbeider rennen ” Commando Zonder de “ –net-host ' Keuze.
- Gebruik de ' havenarbeider rennen ” Commando Met de “ –net-host ' Keuze.
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/
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