ps、stats 容器状态查看

docker ps

Syntax(语法)

docker ps [OPTIONS]

以列表的形式显示容器,包括以下几个字段 CONTAINER ID(容器 ID 号)、IMAGE(启动该容器所用的 image)、COMMAND(该容器运行的命令)、CREATED(该容器被创建了多久)、STATUS(容器当前状态)、PORTS(容器所用端口)、NAMES(容器名,随机生成),效果如图所示:

还可以通过 -s 选项,来输出容器占用的磁盘空间大小。

OPTIONS

  • -a, –all # 显示所有容器(默认只显示正在 running 状态的)
  • -f, –filter FILTER # 根据提供的条件过滤输出内容。
  • –format STRING # 使用 Go 模板漂亮得输出容器信息。
~]# docker ps --format "table {{.Names}}\t{{.Size}}"
NAMES               SIZE
pushgateway         46B (virtual 19.4MB)
node_exporter       16B (virtual 22.9MB)
  • -n, –last INT # Show n last created containers (includes all states) (default -1)
  • -l, –latest # 显示最后创建的容器(所有状态)
  • –no-trunc # 不要截断输出 i.e.每列显示的内容都是完整内容,不会被截断
  • -q, –quiet # 仅输出 CONTAINER ID
  • -s, –sizes # 显示容器所用磁盘容量。一个是可写层的数据量,还有一个是只读镜像数据的磁盘空间总量。

EXAMPLE

  • 显示所有容器的 CONTAINER ID 与 COMMAND 字段,且不截断输出
    • docker ps –format “table {{.ID}}\t{{.Command}}” -a –no-trunc
  • 查看容器所占磁盘空间大小,并按照所占空间大小排序
    • docker ps –format “{{.ID}}\t{{.Size}}” | sort -k 4 -h

过滤器示例

只显示状态为 restarting 的容器

  • docker ps -a –filter status=restarting

只显示状态为 exited 的容器

  • docker ps -a –filter status=exited

查看那个容器使用了指定的 Volume

~]# docker volume ls
DRIVER    VOLUME NAME
local     87e775bf78c42bc70b63f49f5495081d835d4571a922b2c5400371456fb9fbd1
~]# docker ps -a -f volume=87e775bf78c42bc70b63f49f5495081d835d4571a922b2c5400371456fb9fbd1
CONTAINER ID   IMAGE     COMMAND                  CREATED       STATUS                    PORTS     NAMES
1b857d27d391   mysql:8   "docker-entrypoint.s…"   7 weeks ago   Exited (0) 14 hours ago             mysql

docker stats [OPTIONS] [CONTAINER….]

显示效果如下,可以显示容器的 CPU、内存的使用率,和磁盘的 IO。并实时刷新。

CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
4a12a78282a5        pushgateway         0.00%               8.383MiB / 7.638GiB   0.11%               656B / 0B           0B / 0B             9
0a5fde8051fd        node_exporter       0.00%               4.312MiB / 7.638GiB   0.06%               0B / 0B

docker stats [OPTIONS] [CONTAINER…] OPTIONS

  • -a, –all # Show all containers (default shows just running)
  • –format string # 使用 Go 模板漂亮得输出容器信息。
  • –no-stream # 禁用流信息,仅显示第一次请求的结果。i.e.不实时刷新
  • –no-trunc # Do not truncate output

EXAMPLE

  • docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}" # 使用 go 模板输出指定内容

最后修改 July 5, 2024: shell, docker (876d0a08)