Abrufen der IP-Adresse eines Docker-Containers
- Verbinden Sie sich mit dem Bridge-Netzwerk und rufen Sie die IP-Adresse eines Docker-Containers ab
-
Mit
docker inspect
die IP-Adresse eines Docker-Containers ermitteln
Dieses Tutorial zeigt, wie Sie die IP-Adresse einer Docker-Container-IP-Adresse erhalten.
Verbinden Sie sich mit dem Bridge-Netzwerk und rufen Sie die IP-Adresse eines Docker-Containers ab
Einer der wesentlichen Gründe, warum Docker-Container so praktisch sind, ist, dass wir sie einfach verbinden können. Dadurch können Container kommunizieren und Ressourcen einfach gemeinsam nutzen.
Wir können Container auch mit No-Docker-Workloads verbinden.
In diesem Artikel geht es nicht um Docker-Netzwerke; Daher werden wir uns nicht mit den Besonderheiten des Docker-Netzwerks befassen. Docker bietet jedoch verschiedene Treiber, die das Netzwerk mithilfe von Bridge-Treibern austauschbar machen.
Docker ermöglicht es uns, Netzwerke mit seinen Standardtreibern, die als Bridge-Treiber bekannt sind, zu erstellen. Das Bridge-Netzwerk ist jedoch privat und hat einen begrenzten Umfang für Container auf dem Host.
Sie können die Standardnetzwerke auf Ihrem Host und die, die Sie zuvor hatten, anzeigen. Jede Docker-Installation enthält normalerweise die drei unten gezeigten Standardnetzwerke.
isaac@DESKTOP-HV44HT6:~$ docker network ls
NETWORK ID NAME DRIVER SCOPE
9729860fa596 bridge bridge local
0667c3f7d0f0 host host local
c3273b158256 none null local
Docker startet immer neue Container im Bridge-Netzwerk, sofern nicht anders angegeben.
Container-IP-Adressen sind ein wesentlicher Bestandteil von Netzwerk-Docker-Containern. Typischerweise wird Containern für jedes Netzwerk, das sie verbinden, eine IP-Adresse zugewiesen.
Andererseits können Sie einen Docker-Container auch manuell mit dem Bridge-Netzwerk verbinden, indem Sie den folgenden Befehl verwenden.
$ docker run -dt rabbitmq
Dadurch wird ein Docker-Container erstellt und dem Bridge-Netzwerk zugewiesen. Bevor wir das Netzwerk überprüfen können, um zu bestätigen, dass es damit verbunden ist, sollten wir zunächst sicherstellen, dass der Container ausgeführt wird.
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
42487cad0390 rabbitmq "docker-entrypoint.s…" About a minute ago Up About a minute 4369/tcp, 5671-5672/tcp, 15691-15692/tcp, 25672/tcp compassionate_keller
Durch die Untersuchung des Bridge-Netzwerks können wir die mit den Netzwerken verbundenen Container anzeigen, neben anderen Details wie den IP-Adressen der Container und dem Standard-Subnetz für den Container. Die Details werden im JSON-Format zurückgegeben, wie unten gezeigt.
~$ docker network inspect bridge
Ausgabe:
"ConfigOnly": false,
"Containers": {
"42487cad0390a8de6d1a88bc1d6c09ffdf3162dc85d4d5d3dc70200b2348b673": {
"Name": "compassionate_keller",
"EndpointID": "ffa55232565d3a32d1e471d0753c1f491d6131a5cca50b8b76bc43a8ff554e32",
"MacAddress": "02:42:ac:11:00:04",
"IPv4Address": "172.17.0.4/16",
"IPv6Address": ""
}
Die IP-Adresse für unseren Container im obigen Beispiel lautet 172.17.0.4/16.
Wir können auch mehrere Container mit dem Netzwerk verbinden, und wir können die IP-Adressen von beiden leicht finden, indem wir das Bridge-Netzwerk untersuchen. Wie unten gezeigt, fügen wir dem Bridge-Netzwerk einen Container hinzu, der auf dem Nginx-Image basiert.
isaac@DESKTOP-HV44HT6:~$ docker run -dt nginx
4ab752ab92582a0eb2cb14475094460fc8cc608c93a357a8dca082cfea2bc368
Wenn wir nun das Bridge-Netzwerk untersuchen, können wir die IP-Adressen der beiden Container erhalten. Denken Sie daran, dass die beiden Container ausgeführt werden sollten.
isaac@DESKTOP-HV44HT6:~$ docker network inspect bridge
Ausgabe:
"Containers": {
"42487cad0390a8de6d1a88bc1d6c09ffdf3162dc85d4d5d3dc70200b2348b673": {
"Name": "compassionate_keller",
"EndpointID": "ffa55232565d3a32d1e471d0753c1f491d6131a5cca50b8b76bc43a8ff554e32",
"MacAddress": "02:42:ac:11:00:04",
"IPv4Address": "172.17.0.4/16",
"IPv6Address": ""
},
"4ab752ab92582a0eb2cb14475094460fc8cc608c93a357a8dca082cfea2bc368": {
"Name": "trusting_keller",
"EndpointID": "a2babd11586f493cf5e57f5d9920a7f5648cf6163e77030521bef62fc9f34a63",
"MacAddress": "02:42:ac:11:00:02",
"IPv4Address": "172.17.0.2/16",
"IPv6Address": ""
}
}
Die IP-Adressen der beiden Container lauten 172.17.0.4/16
und 172.17.0.2/16
in der Reihenfolge ihrer Erstellung.
Mit docker inspect
die IP-Adresse eines Docker-Containers ermitteln
Wir können auch docker inspect
und den Containernamen oder die Container-ID verwenden, um die IP-Adresse eines bestimmten Docker-Containers zu finden. Dadurch werden auch viele andere Details im JSON-Format zurückgegeben.
$ docker inspect 42487cad0390
Ausgabe:
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "9729860fa5961eeac55f921ee787b2c82a15146cd36117b5394243be2149e929",
"EndpointID": "ffa55232565d3a32d1e471d0753c1f491d6131a5cca50b8b76bc43a8ff554e32",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.4",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:11:00:04",
"DriverOpts": null
}
}
In diesem Fall haben wir den Container anhand des offiziellen Nginx-Images untersucht. In der Docker-Dokumentation finden Sie lustige Informationen zum Vernetzen von Docker-Containern.
Isaac Tony is a professional software developer and technical writer fascinated by Tech and productivity. He helps large technical organizations communicate their message clearly through writing.
LinkedInVerwandter Artikel - Docker Container
- Der Unterschied zwischen Docker-Container und Docker-Image
- Erstellen Sie einen Container in einer Docker-Compose-Datei neu
- Führen Sie Container mit Docker kontinuierlich im Hintergrund aus
- Geben Sie einen laufenden Docker-Container mit einem neuen Pseudo-TTY ein
- Listen Sie nur die angehaltenen Container in Docker auf
- Löschen Sie Container dauerhaft in Docker