Zde je krátká poznámka o tom, jak získat informace o kontejneru běžícím na hostiteli. Je to podobné příkazu „xm list –long [ID_domény]“ v xen.
Získání informací mimo kontejner Docker
1. Níže je uveden seznam obrázků, které jsou umístěny na hostitelském uzlu.
# 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. Spusťte jeden z obrazů dockeru.
# docker run -it -d 422dc563ca32 /bin/bash 52249ba75f0fa33f93202f4a2d7f83bc71600b8b75ea4db0bc5b56022bf254b6
3. Ověřte, že je spuštěn nový kontejner Docker.
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 52249ba75f0f 422dc563ca32 "/bin/bash" About a minute ago Up About a minute gracious_keller
„kontrola Příkaz „“ zobrazí úplné informace o kontejneru. Použijte ID kontejneru uvedené v prvním sloupci s možností kontroly. Zde získáte poměrně dlouhý výstup.
# 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. Toto lze také zkrátit na základě toho, co je třeba ověřit. Můžete například získat informace pouze o síťové části kontejneru Docker.
# docker inspect --format='{{ .NetworkSettings.IPAddress }}' 52249ba75f0f 172.17.0.2
# docker inspect --format='{{ .NetworkSettings.Gateway }}' 52249ba75f0f 172.17.0.1
Získání informací z kontejneru Docker
Níže uvedený příklad ukazuje nastavení z kontejneru Docker.
1. Nejprve připojte ke kontejneru dokovacího zařízení.
# docker attach 52249ba75f0f
2. Když se připojíte ke zcela novému kontejneru, příkazy jako ifconfig, route nebudou fungovat. Protože docker je holá minimální instalace a balíčky musíme instalovat tak, jak a kdy jsou vyžadovány. Chcete-li tedy spustit příkaz ifconfig a route, nejprve nainstalujte net-tools balíček.
# yum install net-tools
3. Nyní spusťte příkazy ifconfig a route, abyste získali požadované informace o kontejneru 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
Konfigurační soubor kontejneru
Také informace o kontejneru budou uloženy jako konfigurační soubor a lze je použít k opětovnému spuštění kontejneru. Umístění cesty pro kontejner lze získat z dřívějšího příkazu „inspect“.