Docker
Docker-Netzwerk
Suche…
So finden Sie die Host-IP des Containers
Sie müssen die IP-Adresse des Containers ermitteln, der im Host ausgeführt wird, damit Sie beispielsweise eine Verbindung zum Webserver herstellen können, der auf dem Host ausgeführt wird.
docker-machine
wird unter MacOSX und Windows verwendet.
Listen Sie zunächst Ihre Maschinen auf:
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
default * virtualbox Running tcp://192.168.99.100:2376
Wählen Sie dann eine der Maschinen (die Standardmaschine heißt Standard) und:
$ docker-machine ip default
192.168.99.100
Ein Docker-Netzwerk erstellen
docker network create app-backend
Dieser Befehl erstellt ein einfaches überbrücktes Netzwerk mit dem Namen appBackend
. Standardmäßig sind keine Container an dieses Netzwerk angeschlossen.
Netzwerke auflisten
docker network ls
Dieser Befehl listet alle Netzwerke auf, die auf dem lokalen Docker-Host erstellt wurden. Es umfasst das Standard-Bridge- bridge
Netzwerk, das Host- host
Netzwerk und das Null- null
Netzwerk. Alle Container sind standardmäßig mit dem Standard-Bridge- bridge
Netzwerk verbunden.
Container zum Netzwerk hinzufügen
docker network connect app-backend myAwesomeApp-1
Dieser Befehl verbindet den myAwesomeApp-1
Container mit dem app-backend
Netzwerk. Wenn Sie einem benutzerdefinierten Netzwerk einen Container hinzufügen, ermöglicht der eingebettete DNS-Auflöser (der kein voll ausgestatteter DNS-Server ist und nicht exportierbar ist), dass jeder Container im Netzwerk jeden anderen Container im selben Netzwerk auflösen kann. Dieser einfache DNS-Resolver ist im Standard-Bridge- bridge
Netzwerk nicht verfügbar.
Container vom Netzwerk trennen
docker network disconnect app-backend myAwesomeApp-1
Dieser Befehl myAwesomeApp-1
den myAwesomeApp-1
Container vom app-backend
Netzwerk. Der Container kann nicht mehr mit anderen Containern in dem Netzwerk kommunizieren, von dem er getrennt wurde, und der eingebettete DNS-Resolver kann keine anderen Container in dem Netzwerk suchen, von dem er getrennt wurde.
Entfernen Sie ein Docker-Netzwerk
docker network rm app-backend
Dieser Befehl entfernt das benutzerdefinierte app-backend
Netzwerk vom Docker-Host. Alle Container im Netzwerk, die nicht über ein anderes Netzwerk verbunden sind, verlieren die Kommunikation mit anderen Containern. Das Standard-Bridge- bridge
Netzwerk, das host
Host-Netzwerk oder das null
Null-Netzwerk kann nicht entfernt werden.
Überprüfen Sie ein Docker-Netzwerk
docker network inspect app-backend
Dieser Befehl gibt Details zum app-backend
Netzwerk aus.
Die Ausgabe dieses Befehls sollte folgendermaßen aussehen:
[
{
"Name": "foo",
"Id": "a0349d78c8fd7c16f5940bdbaf1adec8d8399b8309b2e8a969bd4e3226a6fc58",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1/16"
}
]
},
"Internal": false,
"Containers": {},
"Options": {},
"Labels": {}
}
]