如何查看Docker容器的信息(docker,开发技术)

时间:2024-05-02 17:47:51 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

创建tomcat容器

在docker环境下执行如下命令,即可创建一个名为tomcat001的tomcat容器:

dockerrun--nametomcat001-idttomcat

执行docker ps检查一下,容器创建成功:

root@maven:~#dockerpsCONTAINERID IMAGE COMMAND CREATED STATUS PORTS NAMES98d119ed4c73 tomcat "catalina.shrun" 10minutesago Up10minutes 8080/tcp tomcat001

获取信息常用的方式有如下三种:

  • 进入容器内部获取信息;

  • 执行docker exec命令;

  • 执行docker inspect -f命令(推荐方式);

第一种:进入容器内部获取信息

执行以下命令可进入容器内部:

dockerexec-ittomcat001/bin/bash

此时已进入容器内部,所以分别执行hostname、ip addr、env这三个命令可以获取相关信息,如下:

root@98d119ed4c73:/usr/local/tomcat#hostname98d119ed4c73root@98d119ed4c73:/usr/local/tomcat#ipaddr1:lo:<LOOPBACK,UP,LOWER_UP>mtu65536qdiscnoqueuestateUNKNOWNgroupdefaultqlen1link/loopback00:00:00:00:00:00brd00:00:00:00:00:00inet127.0.0.1/8scopehostlovalid_lftforeverpreferred_lftforeverinet6::1/128scopehostvalid_lftforeverpreferred_lftforever17:eth0@if18:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscnoqueuestateUPgroupdefaultlink/ether02:42:ac:11:00:05brdff:ff:ff:ff:ff:fflink-netnsid0inet172.17.0.5/16scopeglobaleth0valid_lftforeverpreferred_lftforeverinet6fe80::42:acff:fe11:5/64scopelinkvalid_lftforeverpreferred_lftforeverroot@98d119ed4c73:/usr/local/tomcat#envLD_LIBRARY_PATH=/usr/local/tomcat/native-jni-libCATALINA_HOME=/usr/local/tomcatLANG=C.UTF-8HOSTNAME=98d119ed4c73OPENSSL_VERSION=1.1.0f-3+deb9u1TOMCAT_VERSION=8.5.24GPG_KEYS=05AB33110949707C93A279E3D3EFE6B686867BA607E48665A34DCAFAE522E5E6266191C37C037D4247309207D818FFD8DCD3F83F1931D684307A10A5541FBE7D8F78B25E055DDEE13C370389288584E761B832AC2F1C5A90F0F9B00A1C506407564C17A3713DA88BE50911535FE716F5208B0AB1D63011C779F7026C690BAA50B92CD8B66A3AD3F4F22C4FED9BA44C2621385CB966EBA586F72C284D731FABEEA27677289986DB50844682F8ACB77FC2E86E29ACA9C5DF4D22E99998D9875A5110C01C5A2F6059E7DCFD35E0BF8CA7344752DE8B6FB21E8933C60243F3A04C595DB5B6A5F1ECA43E3B7BBB100D811BBEF7DA48BB64BCB84ECBA7EE6935CD23C10D498E23JAVA_HOME=/docker-java-home/jreTOMCAT_NATIVE_LIBDIR=/usr/local/tomcat/native-jni-libJAVA_VERSION=8u151PWD=/usr/local/tomcatHOME=/rootCA_CERTIFICATES_JAVA_VERSION=20170531+nmu1TOMCAT_MAJOR=8JAVA_DEBIAN_VERSION=8u151-b12-1~deb9u1TOMCAT_SHA1=9e26ba61c5665aafc849073edeb769be555283cdTERM=xtermSHLVL=1TOMCAT_ASC_URLS=https://www.apache.org/dyn/closer.cgi?action=download&filename=tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.aschttps://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.aschttps://www.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.aschttps://archive.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.ascPATH=/usr/local/tomcat/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binTOMCAT_TGZ_URLS=https://www.apache.org/dyn/closer.cgi?action=download&filename=tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gzhttps://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gzhttps://www.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gzhttps://archive.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz_=/usr/bin/env

第二种:执行docker exec命令

不用进入容器,直接在docker环境执行docker exec 容器名 容器内命令的方式也可以获取相关信息,举例如下:

  • 获取容器的hostname:docker exec tomcat001 hostname

  • 获取容器ip地址:docker exec tomcat001 ip addr

  • 获取容器环境变量:docker exec tomcat001 env

执行结果如下所示:

root@maven:~#dockerexectomcat001hostname98d119ed4c73root@maven:~#dockerexectomcat001ipaddr1:lo:<LOOPBACK,UP,LOWER_UP>mtu65536qdiscnoqueuestateUNKNOWNgroupdefaultqlen1link/loopback00:00:00:00:00:00brd00:00:00:00:00:00inet127.0.0.1/8scopehostlovalid_lftforeverpreferred_lftforeverinet6::1/128scopehostvalid_lftforeverpreferred_lftforever17:eth0@if18:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscnoqueuestateUPgroupdefaultlink/ether02:42:ac:11:00:05brdff:ff:ff:ff:ff:fflink-netnsid0inet172.17.0.5/16scopeglobaleth0valid_lftforeverpreferred_lftforeverinet6fe80::42:acff:fe11:5/64scopelinkvalid_lftforeverpreferred_lftforeverroot@maven:~#dockerexectomcat001envPATH=/usr/local/tomcat/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binHOSTNAME=98d119ed4c73LANG=C.UTF-8JAVA_HOME=/docker-java-home/jreJAVA_VERSION=8u151JAVA_DEBIAN_VERSION=8u151-b12-1~deb9u1CA_CERTIFICATES_JAVA_VERSION=20170531+nmu1CATALINA_HOME=/usr/local/tomcatTOMCAT_NATIVE_LIBDIR=/usr/local/tomcat/native-jni-libLD_LIBRARY_PATH=/usr/local/tomcat/native-jni-libOPENSSL_VERSION=1.1.0f-3+deb9u1GPG_KEYS=05AB33110949707C93A279E3D3EFE6B686867BA607E48665A34DCAFAE522E5E6266191C37C037D4247309207D818FFD8DCD3F83F1931D684307A10A5541FBE7D8F78B25E055DDEE13C370389288584E761B832AC2F1C5A90F0F9B00A1C506407564C17A3713DA88BE50911535FE716F5208B0AB1D63011C779F7026C690BAA50B92CD8B66A3AD3F4F22C4FED9BA44C2621385CB966EBA586F72C284D731FABEEA27677289986DB50844682F8ACB77FC2E86E29ACA9C5DF4D22E99998D9875A5110C01C5A2F6059E7DCFD35E0BF8CA7344752DE8B6FB21E8933C60243F3A04C595DB5B6A5F1ECA43E3B7BBB100D811BBEF7DA48BB64BCB84ECBA7EE6935CD23C10D498E23TOMCAT_MAJOR=8TOMCAT_VERSION=8.5.24TOMCAT_SHA1=9e26ba61c5665aafc849073edeb769be555283cdTOMCAT_TGZ_URLS=https://www.apache.org/dyn/closer.cgi?action=download&filename=tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gzhttps://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gzhttps://www.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gzhttps://archive.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gzTOMCAT_ASC_URLS=https://www.apache.org/dyn/closer.cgi?action=download&filename=tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.aschttps://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.aschttps://www.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.aschttps://archive.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.ascHOME=/root

第三种:使用docker inspect命令

推荐使用docker inspect来获取信息,这个命令会返回一个json字符串,里面以key-value的格式准备了该容器相关的信息,内容十分丰富,可以一次性取得全部内容,也可以返回指定key对应的信息;

我们先来看看所有内容,执行命令docker inspect tomcat001,可以看到如下信息:

root@maven:~#dockerinspecttomcat001[{"Id":"98d119ed4c73c750e53353e77f7c6942803809a9d5dedc28d8b0f41ce58b8b17","Created":"2018-05-06T07:39:45.464492435Z","Path":"catalina.sh","Args":["run"],"State":{"Status":"running","Running":true,"Paused":false,"Restarting":false,"OOMKilled":false,"Dead":false,"Pid":22468,"ExitCode":0,"Error":"","StartedAt":"2018-05-06T07:39:46.143092505Z","FinishedAt":"0001-01-01T00:00:00Z"},"Image":"sha256:3dcfe809147daf54fbdbe1f6886b4c49df63f28e2b3c8ac119fef6a7f7490d3c","ResolvConfPath":"/var/lib/docker/containers/98d119ed4c73c750e53353e77f7c6942803809a9d5dedc28d8b0f41ce58b8b17/resolv.conf","HostnamePath":"/var/lib/docker/containers/98d119ed4c73c750e53353e77f7c6942803809a9d5dedc28d8b0f41ce58b8b17/hostname","HostsPath":"/var/lib/docker/containers/98d119ed4c73c750e53353e77f7c6942803809a9d5dedc28d8b0f41ce58b8b17/hosts","LogPath":"/var/lib/docker/containers/98d119ed4c73c750e53353e77f7c6942803809a9d5dedc28d8b0f41ce58b8b17/98d119ed4c73c750e53353e77f7c6942803809a9d5dedc28d8b0f41ce58b8b17-json.log","Name":"/tomcat001","RestartCount":0,"Driver":"aufs","MountLabel":"","ProcessLabel":"","AppArmorProfile":"","ExecIDs":["cffec99f38514024f6a6e31e0e160d37d295041e4813a2245466be2dbc9c4037"],"HostConfig":{"Binds":null,"ContainerIDFile":"","LogConfig":{"Type":"json-file","Config":{}},"NetworkMode":"default","PortBindings":{},"RestartPolicy":{"Name":"no","MaximumRetryCount":0},"AutoRemove":false,"VolumeDriver":"","VolumesFrom":null,"CapAdd":null,"CapDrop":null,"Dns":[],"DnsOptions":[],"DnsSearch":[],"ExtraHosts":null,"GroupAdd":null,"IpcMode":"","Cgroup":"","Links":null,"OomScoreAdj":0,"PidMode":"","Privileged":false,"PublishAllPorts":false,"ReadonlyRootfs":false,"SecurityOpt":null,"UTSMode":"","UsernsMode":"","ShmSize":67108864,"Runtime":"runc","ConsoleSize":[0,0],"Isolation":"","CpuShares":0,"Memory":0,"NanoCpus":0,"CgroupParent":"","BlkioWeight":0,"BlkioWeightDevice":null,"BlkioDeviceReadBps":null,"BlkioDeviceWriteBps":null,"BlkioDeviceReadIOps":null,"BlkioDeviceWriteIOps":null,"CpuPeriod":0,"CpuQuota":0,"CpuRealtimePeriod":0,"CpuRealtimeRuntime":0,"CpusetCpus":"","CpusetMems":"","Devices":[],"DiskQuota":0,"KernelMemory":0,"MemoryReservation":0,"MemorySwap":0,"MemorySwappiness":-1,"OomKillDisable":false,"PidsLimit":0,"Ulimits":null,"CpuCount":0,"CpuPercent":0,"IOMaximumIOps":0,"IOMaximumBandwidth":0},"GraphDriver":{"Name":"aufs","Data":null},"Mounts":[],"Config":{"Hostname":"98d119ed4c73","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"ExposedPorts":{"8080/tcp":{}},"Tty":true,"OpenStdin":true,"StdinOnce":false,"Env":["PATH=/usr/local/tomcat/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","LANG=C.UTF-8","JAVA_HOME=/docker-java-home/jre","JAVA_VERSION=8u151","JAVA_DEBIAN_VERSION=8u151-b12-1~deb9u1","CA_CERTIFICATES_JAVA_VERSION=20170531+nmu1","CATALINA_HOME=/usr/local/tomcat","TOMCAT_NATIVE_LIBDIR=/usr/local/tomcat/native-jni-lib","LD_LIBRARY_PATH=/usr/local/tomcat/native-jni-lib","OPENSSL_VERSION=1.1.0f-3+deb9u1","GPG_KEYS=05AB33110949707C93A279E3D3EFE6B686867BA607E48665A34DCAFAE522E5E6266191C37C037D4247309207D818FFD8DCD3F83F1931D684307A10A5541FBE7D8F78B25E055DDEE13C370389288584E761B832AC2F1C5A90F0F9B00A1C506407564C17A3713DA88BE50911535FE716F5208B0AB1D63011C779F7026C690BAA50B92CD8B66A3AD3F4F22C4FED9BA44C2621385CB966EBA586F72C284D731FABEEA27677289986DB50844682F8ACB77FC2E86E29ACA9C5DF4D22E99998D9875A5110C01C5A2F6059E7DCFD35E0BF8CA7344752DE8B6FB21E8933C60243F3A04C595DB5B6A5F1ECA43E3B7BBB100D811BBEF7DA48BB64BCB84ECBA7EE6935CD23C10D498E23","TOMCAT_MAJOR=8","TOMCAT_VERSION=8.5.24","TOMCAT_SHA1=9e26ba61c5665aafc849073edeb769be555283cd","TOMCAT_TGZ_URLS=https://www.apache.org/dyn/closer.cgi?action=download&filename=tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz\thttps://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz\thttps://www.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz\thttps://archive.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz","TOMCAT_ASC_URLS=https://www.apache.org/dyn/closer.cgi?action=download&filename=tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.asc\thttps://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.asc\thttps://www.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.asc\thttps://archive.apache.org/dist/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz.asc"],"Cmd":["catalina.sh","run"],"ArgsEscaped":true,"Image":"tomcat","Volumes":null,"WorkingDir":"/usr/local/tomcat","Entrypoint":null,"OnBuild":null,"Labels":{}},"NetworkSettings":{"Bridge":"","SandboxID":"50244517221e6faff4217ff5453919f0c297b10434812ecfbf3decb3ce9860f6","HairpinMode":false,"LinkLocalIPv6Address":"","LinkLocalIPv6PrefixLen":0,"Ports":{"8080/tcp":null},"SandboxKey":"/var/run/docker/netns/50244517221e","SecondaryIPAddresses":null,"SecondaryIPv6Addresses":null,"EndpointID":"e9336feece03b1c87e6724253575ee50963e9bdc1f9618609fe641a8a939b87a","Gateway":"172.17.0.1","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"IPAddress":"172.17.0.5","IPPrefixLen":16,"IPv6Gateway":"","MacAddress":"02:42:ac:11:00:05","Networks":{"bridge":{"IPAMConfig":null,"Links":null,"Aliases":null,"NetworkID":"87eb4d08d408c08489db4460915aabed59210d04f8193364420d3719cd308d83","EndpointID":"e9336feece03b1c87e6724253575ee50963e9bdc1f9618609fe641a8a939b87a","Gateway":"172.17.0.1","IPAddress":"172.17.0.5","IPPrefixLen":16,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"MacAddress":"02:42:ac:11:00:05"}}}}]

可见内容十分丰富;

如果我们只对其中的一些感兴趣,例如hostname、ip地址、环境变量,该如何查看呢?

hostname:在返回值中,hostname的位置如下图红框所示,

如何查看Docker容器的信息

由上图可见,hostname位于Config.Hostname这个节点位置,所以执行命令docker inspect -f {{.Config.Hostname}} tomcat001即可获取到hostname,如下所示:

root@maven:~#dockerinspect-f{{.Config.Hostname}}tomcat00198d119ed4c73

ip地址:执行命令docker inspect -f {{.NetworkSettings.IPAddress}} tomcat001即可获取到ip地址:

root@maven:~#dockerinspect-f{{.NetworkSettings.IPAddress}}tomcat001172.17.0.5

环境变量:从完整的inspect信息中可以看到环境变量Config.Env的内容是个json数组,所以除了用docker inspect -f {{.Config.Env}} tomcat001获取所有环境变量信息,还可以用docker inspect -f &lsquo;{{index .Config.Env 1}}&rsquo; tomcat001命令获取数组中的某一条记录,如下:

root@maven:~#dockerinspect-f'{{index.Config.Env1}}'tomcat001LANG=C.UTF-8root@maven:~#dockerinspect-f'{{index.Config.Env2}}'tomcat001JAVA_HOME=/docker-java-home/jre
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:如何查看Docker容器的信息的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:怎么部署ASP.NET Core程序到Linux系统下一篇:

7 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18