Docker ps命令
大纲
Docker ps命令概述
docker ps 命令可以用来列出 Docker容器 相关信息。
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
运行后,终端显示信息如下图所示:
使用 docker run 命令,启动 docker 容器。
haicoder(www.haicoder.net)# docker run -it -d ubuntu
#输出
2b7be687c268e9651b70ad2d84ac9487482dea0587c9e50471c8fcdeea848a77
再次使用 docker ps 命令,显示当前正在运行的 docker 容器, 终端显示信息如下图所示:
此时,正在运行的容器列表有刚才运行的容器信息。
显示最近创建的 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 容器, 终端显示信息如下图所示:
使用 docker ps -n 3 命令,显示当前正在运行的 3 个 docker 容器, 终端显示信息如下图所示:
此时,我们看到只显示了最近运行的 3 个 docker 容器,而并非所有的容器。即,在以上案例中,我们使用 docker ps -n 命令,可以显示最近创建的 N 个 docker容器。
最后,我们使用 docker kill 和 docker rm 命令,删除所有的容器。
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容器, 终端显示信息如下图所示:
使用 docker stop 命令,停止其中两个 docker容器。
haicoder(www.haicoder.net)# docker stop 790dd6cfd43e bc427c7eb2ad
790dd6cfd43e
bc427c7eb2ad
再次使用 docker ps 命令,显示当前正在运行的 docker容器, 终端显示信息如下图所示:
此时,只显示了正在运行的一个 docker 容器,刚被我们停止的两个 docker 容器,并未显示。
我们使用 docker ps -a 命令,显示所有的 docker 容器,包括运行还是未运行的。
此时,显示了我们创建的三个容器,包括一个运行的和两个未运行的。即,在以上案例中,我们使用 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 容器, 终端显示信息如下图所示:
我们使用 docker ps -aq 命令,显示所有的 docker 容器的 ID 信息,包括运行还是未运行的,终端显示如下:
此时,并未显示容器的所有信息,只显示了容器的 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 的完整形式,终端显示信息如下图所示:
此时,返回结果中的 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 容器的大小信息,终端显示信息如下图所示:
此时,返回结果中多了一列 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]