Was ist der "Docker0" dort?

Sep 18 2020

Ich habe ein Dokument über den dockerNetzwerkmodus gelesen .

dort anzeigen gibt es docker0und eth1auf Host.

Ich habe eine Frage dazu: Was ist das docker0? Ist es eine Schnittstelle oder Brücke? Wenn es sich um eine Schnittstelle handelt, sollte sie eine IP-Adresse haben, mit der kommuniziert werden kann 172.17.0.2, oder?

Antworten

1 VonC Sep 18 2020 at 11:32

Sie können zum Beispiel docker0 sehen, das in diesem Artikel beschrieben wird :

Die Docker0-Bridge ist eine virtuelle Schnittstelle, die von Docker erstellt wurde. Sie wählt zufällig eine Adresse und ein Subnetz aus dem von RFC 1918 definierten privaten Bereich aus, die auf dem Hostcomputer nicht verwendet werden, und weist sie zu docker0.

Alle Docker-Container werden standardmäßig mit der Docker0-Bridge verbunden. Die mit der Bridge verbundenen Docker-Container können docker0die von Docker erstellten iptables-NAT-Regeln verwenden, um mit der Außenwelt zu kommunizieren.

Standardmäßig hängt Docker alle Container an die Docker0-Bridge an, sodass Sie mit dem Docker-Befehl run kein zusätzliches Flag angeben müssen, um die Docker-Container mit der docker0Bridge zu verbinden , es sei denn, in der DOCKER_OPTSIn-Docker-Konfigurationsdatei wird ausdrücklich angegeben, dass das andere Netzwerk als docker0Bridge verwendet werden soll In diesem Fall können Sie –net=bridgemit dem Docker-Befehl run die Container mit der docker0Bridge verbinden.

Siehe auch " Wie ist die Beziehung zwischen docker0und eth0? "