Hier ist ein kurzer Hinweis zum Abrufen von Informationen des Containers, der auf dem Host ausgeführt wird. Dies ähnelt dem Befehl „xm list –long [domain_ID]“ in xen.
Informationen von außerhalb des Docker-Containers abrufen
1. Nachfolgend finden Sie die Liste der Images, die sich auf dem Hostknoten befinden.
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE fedora latest 422dc563ca32 2 days ago 252MB ubuntu latest dd6f76d9cc90 13 days ago 122MB hello-world latest 725dcfab7d63 13 days ago 1.84kB centos latest d123f4e55e12 13 days ago 197MB
2. Starten Sie eines der Docker-Images.
# docker run -it -d 422dc563ca32 /bin/bash 52249ba75f0fa33f93202f4a2d7f83bc71600b8b75ea4db0bc5b56022bf254b6
3. Stellen Sie sicher, dass der neue Docker-Container ausgeführt wird.
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 52249ba75f0f 422dc563ca32 "/bin/bash" About a minute ago Up About a minute gracious_keller
Die „inspektion Der Befehl „“ listet die vollständigen Informationen des Containers auf. Verwenden Sie die in der ersten Spalte aufgeführte Container-ID mit der Option "Inspizieren". Sie erhalten hier eine ziemlich lange Ausgabe.
# docker inspect 52249ba75f0f [ { "Id": "52249ba75f0fa33f93202f4a2d7f83bc71600b8b75ea4db0bc5b56022bf254b6", "Created": "2017-11-17T14:38:05.340313315Z", "Path": "/bin/bash", "Args": [], "State": { "Status": "running", "Running": true, "Paused": false, "Restarting": false, "OOMKilled": false, "Dead": false, "Pid": 1535, "ExitCode": 0, "Error": "", "StartedAt": "2017-11-17T14:38:05.638951265Z", "FinishedAt": "0001-01-01T00:00:00Z" } .......
4. Dies kann auch abgeschnitten werden, je nachdem, was überprüft werden muss. Beispielsweise konnten Sie nur Informationen zum Netzwerkteil des Docker-Containers abrufen.
# docker inspect --format='{{ .NetworkSettings.IPAddress }}' 52249ba75f0f 172.17.0.2
# docker inspect --format='{{ .NetworkSettings.Gateway }}' 52249ba75f0f 172.17.0.1
Informationen aus dem Docker-Container abrufen
Das folgende Beispiel zeigt die Einstellungen aus dem Docker-Container.
1. Zuerst an den Docker-Container anhängen.
# docker attach 52249ba75f0f
2. Wenn Sie an einen brandneuen Container anhängen, funktionieren Befehle wie ifconfig, route nicht. Da der Docker eine reine Minimalinstallation ist und wir die Pakete nach Bedarf installieren müssen. Um also ifconfig und den route-Befehl auszuführen, installieren Sie zuerst die net-tools Paket.
# yum install net-tools
3. Führen Sie nun die Befehle ifconfig und route aus, um die erforderlichen Informationen über den Docker-Container zu erhalten.
# ifconfig -a eth0: flags=4163[UP,BROADCAST,RUNNING,MULTICAST] mtu 1500 inet 172.17.0.2 netmask 255.255.0.0 broadcast 0.0.0.0 ether 02:42:ac:11:00:02 txqueuelen 0 (Ethernet) RX packets 36502 bytes 72894961 (69.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 22286 bytes 1594850 (1.5 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73[UP,LOOPBACK,RUNNING] mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 1 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.17.0.1 0.0.0.0 UG 0 0 0 eth0 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
Container-Konfigurationsdatei
Außerdem werden die Informationen über den Container als Konfigurationsdatei gespeichert und können verwendet werden, um den Container neu zu initialisieren. Die Pfadposition für den Container kann aus dem früheren „inspect“-Befehl erfasst werden.