Docker提供了不同的工具来监视容器。在繁忙的环境中,会有很多难以记忆的图像和容器。我们可以使用docker提供的information子命令来获取更详细的端口、磁盘、diff、事件状态信息。在运行docker子命令时,我们需要root权限。
列出正在运行的容器
在繁忙的环境中会有很多容器。列出正在运行的容器是容器管理的重要组成部分。我们可以列出正在运行的容器 ps
子命令。
$ docker ps

如我们所见,ps命令提供了关于每个正在运行的容器的以下信息
-
CONTAINER ID
列显示容器的uniq ID。它用于大多数容器操作,如停止、克隆、连接等。 -
IMAGE
列显示用于创建相关容器的基本图像。 -
COMMAND
列显示启动时在容器中运行的命令。 -
CREATED
列显示创建容器的时间 -
STATUS
列显示容器的正常运行时间。 -
PORTS
列显示重定向的端口和相关的网络配置。 -
NAME
列显示容器的可读名称。如果没有显式指定docker引擎,请指定随机名称。
列出图像
正如我们所知,docker容器是从先前提取和存储的图像创建的。图像包含容器的文件系统。我们可以用 -image
子命令。
$ docker images

此命令将列出有关容器映像的以下信息。
-
REPOSITORY
列显示图像的名称和存储库 -
TAG
列显示相关的标记,这些标记通常提供有关容器映像的版本信息 -
IMAGE ID
列显示图像唯一标识符 -
CREATED
列显示图像的创建时间 -
SZIE
列显示图像的大小
相关文章: 什么是IP地址(Internet协议地址)?
显示容器日志
容器将在运行和操作时创建与docker引擎相关的日志。可以看到这些日志,而无需使用简单的 logs
命令。我们还将提供容器id来指定要查看日志的容器。在本例中,容器id是feb2c71e09e8
$ docker logs feb2c71e09e8
获取有关运行容器的详细信息
docker engine的一个最大特点是它可以提供大量关于运行中的容器的信息。这些信息在 JSON
格式。我们将使用 inspect
并列出有关容器的所有详细信息。
$ docker inspect feb2c71e09e8

正如我们所看到的,有大量的信息。下面我们来看看其中一些重要的例子。
-
ID
列显示容器id -
State
行显示容器的当前状态 -
Mounts
行显示装载的共享 -
NetworkSettings
行显示详细信息,如IP地址,默认网关等。
显示的容器事件
容器在工作期间有不同的事件。这些事件可以通过 events
子命令。 这个命令将启动一个真正的 时间控制台和打印所有实时事件,如开始,死亡,附加,调整大小的事件。
$ docker events

显示网络和端口信息
网络是集装箱运输的重要方面。默认情况下,新创建的容器将通过NAT连接到外部网络和internet。但是docker引擎也支持端口映射和IP地址nat。我们可以列出这些现有的nat和端口映射 port
命令。我们还将提供容器ID。
$ docker port feb2c71e09e8
显示容器CPU使用率
我们知道容器不是虚拟机。它们只是运行在状态受限的主机上的进程。所以他们从主机系统获得CPU时间。我们可以用top命令列出给定容器的CPU使用情况。我们还将提供集装箱ID。
$ docker top a264a020b160

显示容器资源使用情况
如果我们需要运行中的容器的实时数据,我们可以使用 stats
命令。这将以一种简单的方式提供类似top的输出。
$ docker stats

这里有以下信息;
-
CONTAINER
列显示容器id -
CPU
列显示当前CPU使用情况 -
MEMUSAGE
列显示内存使用情况 -
MEM %
列以百分比格式显示使用情况 -
NET I/O
列显示网络 I/O信息。 -
BLOCK I/O
列显示磁盘I/O信息。 -
PIDS
列显示进程总数。
相关文章: Linux日志文件/var/Log教程及示例