Docker ps命令概述

docker ps 命令可以用来列出

Docker ps命令语法

haicoder(www.haicoder.net)# docker ps [OPTIONS]

Docker ps命令参数

选项

说明

无参

默认显示正在运行的容器。

-a

显示所有的容器,包括未运行的。

-f

根据条件过滤显示的内容。

–format

指定返回值的模板文件。

-l

显示最近创建的容器。

-n

列出最近创建的n个容器。

–no-trunc

不截断输出。

-q

静默模式,只显示容器编号。

-s

显示总的文件大小。

案例

显示正在运行的容器

使用 docker ps 命令,显示当前正在运行的 docker容器。

haicoder(www.haicoder.net)# docker ps

运行后,终端显示信息如下图所示:

53f6423911dbb3606810fe156c18b2a0.png

使用

haicoder(www.haicoder.net)# docker run -it -d ubuntu

#输出

2b7be687c268e9651b70ad2d84ac9487482dea0587c9e50471c8fcdeea848a77

再次使用 docker ps 命令,显示当前正在运行的 docker 容器, 终端显示信息如下图所示:

b8f1fe4a5ec141ef09b0770fc1686ef0.png

此时,正在运行的容器列表有刚才运行的容器信息。

显示最近创建的 N 个容器

使用 docker run 命令,启动五个 docker容器。

haicoder(www.haicoder.net)# docker run -it -d ubuntu

bfffa738d6d31404af615a18da1883c66e830ac8a4c11a0e93c05123649f1ee0

haicoder(www.haicoder.net)# docker run -it -d ubuntu

075c757f6a04278993a925cd2a1717557a68cd6631008c1445eaa510abf70ad0

haicoder(www.haicoder.net)# docker run -it -d ubuntu

7ab8cab8d002068f97d94a1e315b89844113fd5d47bea94001d1c7c18e3f06a1

haicoder(www.haicoder.net)# docker run -it -d ubuntu

234972c5a5630b1aa53f955ffaa28509cc20cfe5c6f387d1243a0d418a4fd28d

haicoder(www.haicoder.net)# docker run -it -d ubuntu

275dca19d3afd755ad72ccd5666060b828e90a2166954b8623d8887087d992fc

使用 docker ps 命令,显示当前正在运行的 docker 容器, 终端显示信息如下图所示:

65f08fe29cc1e16101c2c3465ff754a0.png

使用 docker ps -n 3 命令,显示当前正在运行的 3 个 docker 容器, 终端显示信息如下图所示:

83d2c43d4667e9b3d52f192b285f2e6f.png

此时,我们看到只显示了最近运行的 3 个 docker 容器,而并非所有的容器。即,在以上案例中,我们使用 docker ps -n 命令,可以显示最近创建的 N 个 docker容器。

haicoder(www.haicoder.net)# docker kill `docker ps -qa` && docker rm `docker ps -qa`

275dca19d3af

234972c5a563

7ab8cab8d002

075c757f6a04

bfffa738d6d3

2b7be687c268

275dca19d3af

234972c5a563

7ab8cab8d002

075c757f6a04

bfffa738d6d3

2b7be687c268

显示所有容器

使用 docker run 命令,启动三个 docker容器。

haicoder(www.haicoder.net)# docker run -it -d ubuntu

1e4956dd7ef8dca2844a94af218a8f3272d2fbc72df9839e6bb0a5dcca598c65

haicoder(www.haicoder.net)# docker run -it -d ubuntu

bc427c7eb2ad3247dd77198516d2eeda93697861775c6faef48511b534499a5c

haicoder(www.haicoder.net)# docker run -it -d ubuntu

790dd6cfd43e8f552687b5fa4465d81fc49d1ca1af37354c7562618a63364ce0

使用 docker ps 命令,显示当前正在运行的 docker容器, 终端显示信息如下图所示:

8816bcdc0e72bf4d14f12cce425f221a.png

使用

haicoder(www.haicoder.net)# docker stop 790dd6cfd43e bc427c7eb2ad

790dd6cfd43e

bc427c7eb2ad

再次使用 docker ps 命令,显示当前正在运行的 docker容器, 终端显示信息如下图所示:

355d44069a02d62f8ec6b92860758197.png

此时,只显示了正在运行的一个 docker 容器,刚被我们停止的两个 docker 容器,并未显示。

我们使用 docker ps -a 命令,显示所有的 docker 容器,包括运行还是未运行的。

e1fbb1addb82e0ed1f731d19f55adc2c.png

此时,显示了我们创建的三个容器,包括一个运行的和两个未运行的。即,在以上案例中,我们使用 docker ps -a 命令,可以显示所有的 docker容器,包括运行的和未运行的。

最后,我们使用 docker kill 和 docker rm 命令,删除所有的容器。

haicoder(www.haicoder.net)# docker kill `docker ps -qa` ; docker rm `docker ps -qa`

显示所有容器 ID

使用 docker run 命令,启动三个 docker 容器。

haicoder(www.haicoder.net)# docker run -it -d ubuntu

c8c6f11276b77b57a081b50b28a20b84c28de0e3c0baf4d261c6b9eff07d60d7

haicoder(www.haicoder.net)# docker run -it -d ubuntu

463bbe5457134a51078297f5cb7ccbc1d10c7d1d870169cf0096712d68bed2e7

haicoder(www.haicoder.net)# docker run -it -d ubuntu

4af5cf8ed40dec5d23b7cbe85274553030a25939f327614e2cb826e644d58c45

使用 docker ps 命令,显示当前正在运行的 docker 容器, 终端显示信息如下图所示:

7f6429dedf79ba53129de6f451e169a9.png

我们使用 docker ps -aq 命令,显示所有的 docker 容器的 ID 信息,包括运行还是未运行的,终端显示如下:

89848f08592de3e7b239241cdf09d919.png

此时,并未显示容器的所有信息,只显示了容器的 ID 信息,此处的 ID 可以配合 docker kill 和 docker rm 等命令,对容器实现批量的管理。

即,在以上案例中,我们使用 docker ps -aq 命令,可以显示所有的 docker 容器的 ID,包括运行的和未运行的。

最后,我们使用 docker kill 和 docker rm 命令,删除所有的容器。

haicoder(www.haicoder.net)# docker kill `docker ps -qa` ; docker rm `docker ps -qa`

显示容器 ID 的完整形式

使用 docker run 命令,启动 docker容器。

haicoder(www.haicoder.net)# docker run -it -d ubuntu

dfeed15d07dbc8af110c407369b592b366a8501dca900e600467629ab1eeb798

使用 docker ps --no-trunc 命令,显示 docker容器 ID 的完整形式,终端显示信息如下图所示:

3f42546e1e63a1eebf52382bb1621cb1.png

此时,返回结果中的 CONTAINER ID 列显示的是容器的完整 ID。即,在以上案例中,我们使用 docker ps --no-trunc 命令,显示 docker容器 ID 的完整形式,而不是缩略形式。

最后,我们使用 docker kill 和 docker rm 命令,删除所有的容器。

haicoder(www.haicoder.net)# docker kill `docker ps -qa` ; docker rm `docker ps -qa`

显示容器大小

使用 docker run 命令,启动 docker容器。

haicoder(www.haicoder.net)# docker run -it -d ubuntu

379e89ce154a5e1a4821eeac352d36506f971c64f8b416ba571a4a02a7e3b45a

使用 docker ps -s 命令,可以显示 docker 容器的大小信息,终端显示信息如下图所示:

c5e0482b91545a6c97d7a93ab3657f39.png

此时,返回结果中多了一列 SIZE,SIZE 有两个值,一个是容器真实增加的大小,一个是整个容器的虚拟大小。容器虚拟大小 = 容器真实增加大小 + 容器镜像大小。

即,在以上案例中,我们使用 docker ps -s 命令,可以显示 docker容器大小信息。

最后,我们使用 docker kill 和 docker rm 命令,删除所有的容器。

haicoder(www.haicoder.net)# docker kill `docker ps -qa` ; docker rm `docker ps -qa`

docker ps命令高级用法

如果容器数量过多,或者想排除干扰容器,可以通过 docker ps --filter 或 docker ps -f ,过滤需要显示的容器。

docker ps过滤规则

选项后跟的都是键值对 key=value (可不带引号),如果有多个过滤条件,就多次使用 filter 选项。例如:

haicoder(www.haicoder.net)# docker ps --filter id=a1b2c3 --filter name=haicoder

相同条件之间的关系是或,不同条件之间的关系是与关系。例如:

haicoder(www.haicoder.net)# docker ps --filter name=haicoder --filter name=hicoder --filter status=running

以上过滤条件会找出 name 包含 haicoder 或 hicoder 并且 status 为 running 的容器。

id 和 name,支持正则表达式,使用起来非常灵活。例如:

haicoder(www.haicoder.net)# docker ps --filter name=^/haicoder$

docker ps格式化显示

如果想自定义显示容器字段,可以用格式化选项 --format ,具体参考 docker 格式化。

结果解析

字段名

说明

CONTAINER ID

容器 ID 的意思,可以通过这 id 找到唯一的对应容器。

IMAGE

该容器所使用的镜像。

COMMAND

启动容器时运行的命令。

CREATED

容器的创建时间,显示格式为 ”**时间之前创建“。

STATUS

容器现在的状态。

PORTS

容器的端口信息和使用的连接类型(tcp\udp)。

NAMES

镜像自动为容器创建的名字,也唯一代表一个容器。

容器状态

状态

说明

created

已创建。

restarting

重启中。

running

运行中。

removing

迁移中。

paused

暂停。

exited

退出。

dead

僵死。

Docker ps命令总结

docker ps 命令可以用来列出容器相关信息。

Docker ps命令语法:

docker ps [OPTIONS]

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐