Voici une courte note sur la façon d'extraire les informations du conteneur en cours d'exécution sur l'hôte. Ceci est similaire à la commande "xm list –long [domain_ID]" dans xen.
Obtenir des informations depuis l'extérieur du conteneur Docker
1. Vous trouverez ci-dessous la liste des images résidant sur le nœud hôte.
# 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. Démarrez l'une des images Docker.
# docker run -it -d 422dc563ca32 /bin/bash 52249ba75f0fa33f93202f4a2d7f83bc71600b8b75ea4db0bc5b56022bf254b6
3. Vérifiez que le nouveau conteneur Docker est en cours d'exécution.
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 52249ba75f0f 422dc563ca32 "/bin/bash" About a minute ago Up About a minute gracious_keller
Le "inspecter La commande "" listera les informations complètes du conteneur. Utilisez l'ID de conteneur répertorié dans la première colonne avec l'option d'inspection. Vous obtiendrez une sortie assez longue ici.
# 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. Cela peut également être tronqué en fonction de ce qui doit être vérifié. Par exemple, vous ne pouviez obtenir des informations que sur la partie réseau du conteneur Docker.
# docker inspect --format='{{ .NetworkSettings.IPAddress }}' 52249ba75f0f 172.17.0.2
# docker inspect --format='{{ .NetworkSettings.Gateway }}' 52249ba75f0f 172.17.0.1
Obtenir des informations depuis l'intérieur du conteneur Docker
L'exemple ci-dessous montre les paramètres de l'intérieur du conteneur Docker.
1. Tout d'abord, attachez-le au conteneur docker.
# docker attach 52249ba75f0f
2. Lorsque vous vous attachez à un tout nouveau conteneur, des commandes telles que ifconfig, route ne fonctionneront pas. Comme le docker est une installation minimale et nous devons installer les packages au fur et à mesure de leurs besoins. Donc, pour exécuter la commande ifconfig et route, installez d'abord les net-tools paquet.
# yum install net-tools
3. Exécutez maintenant les commandes ifconfig et route pour obtenir les informations requises sur le conteneur Docker.
# 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
Fichier de configuration du conteneur
De plus, les informations sur le conteneur seront stockées dans un fichier de configuration et pourront être utilisées pour réinitialiser le conteneur. L'emplacement du chemin d'accès au conteneur peut être collecté à partir de la commande "inspect" précédente.