kubernetes基础之docker之ps命令大解析

docker之ps命令大解析

学好这个命令,你会感觉非常的的心用手,尤其是在docker野容器清理的时候,方便快速的找到所需要的容器,再配合管道符,相干什么就可以干什么

docker ps --help

[root@localhost ~]# docker ps --help

Usage:  docker ps [OPTIONS]

List containers

Options:
  -a, --all             Show all containers (default shows just running)
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print containers using a Go template
  -n, --last int        Show n last created containers (includes all states) (default -1)
  -l, --latest          Show the latest created container (includes all states)
      --no-trunc        Don't truncate output
  -q, --quiet           Only display container IDs
  -s, --size            Display total file sizes
参数作用系统解释
-a,–all展现出来所有状态的容器Show all containers (default shows just running)
-f,–filter过滤显示Filter output based on conditions provided
–format格式化显示Pretty-print containers using a Go template
-n,–list简单理解,就是显示输出第n行的docker ps内容Show n last created containers (includes all states) (default -1)
-l, --latest相当于ps -n 1Show the latest created container (includes all states)
–no-trunc不会截断输出Don’t truncate output
-q, --quiet只显示容器的idOnly display container IDs
-s, --size容器文件大小Display total file sizes

实操解释

###docker ps 只会输出是up状态的容器
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE      COMMAND                  CREATED       STATUS       PORTS     NAMES
154748d5a3bf   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours   80/tcp    web4
026d9b1f23fe   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours   80/tcp    web3
42e2b0a3ebb2   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours   80/tcp    web2

###无论什么状态的容器都会输出
[root@localhost ~]# docker ps -a   
CONTAINER ID   IMAGE      COMMAND                  CREATED       STATUS                   PORTS     NAMES
154748d5a3bf   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours               80/tcp    web4
026d9b1f23fe   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours               80/tcp    web3
42e2b0a3ebb2   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours               80/tcp    web2
91bb31b24e75   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Exited (0) 2 hours ago             web1
[root@localhost ~]# docker ps --all
CONTAINER ID   IMAGE      COMMAND                  CREATED       STATUS                   PORTS     NAMES
154748d5a3bf   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours               80/tcp    web4
026d9b1f23fe   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours               80/tcp    web3
42e2b0a3ebb2   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours               80/tcp    web2
91bb31b24e75   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Exited (0) 2 hours ago             web1
[root@localhost ~]# 

###查看容器前几列
[root@localhost ~]# docker ps -n 2
CONTAINER ID   IMAGE      COMMAND                  CREATED       STATUS       PORTS     NAMES
154748d5a3bf   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours   80/tcp    web4
026d9b1f23fe   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours   80/tcp    web3
[root@localhost ~]# docker ps -n 3
CONTAINER ID   IMAGE      COMMAND                  CREATED       STATUS       PORTS     NAMES
154748d5a3bf   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours   80/tcp    web4
026d9b1f23fe   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours   80/tcp    web3
42e2b0a3ebb2   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours   80/tcp    web2

[root@localhost ~]# docker ps -l
CONTAINER ID   IMAGE      COMMAND                  CREATED       STATUS       PORTS     NAMES
154748d5a3bf   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours   80/tcp    web4

###无截断的输出,也就是输出全部
[root@localhost ~]# docker ps --no-trunc
CONTAINER ID                                                       IMAGE      COMMAND                           CREATED       STATUS       PORTS     NAMES
154748d5a3bfcff91a86ab236d2f1917543a41dc4aaccb379d1534b8269b035e   nginx:v1   "./sbin/nginx -g 'daemon off;'"   2 hours ago   Up 2 hours   80/tcp    web4
026d9b1f23fef0d7b73953e93ffd77f0cd54a09c3c70b660f9f14071483dd1a9   nginx:v1   "./sbin/nginx -g 'daemon off;'"   2 hours ago   Up 2 hours   80/tcp    web3
42e2b0a3ebb2f92ce027f949d9fce77cbbd30ef9dfb83f093fc89820d3803eea   nginx:v1   "./sbin/nginx -g 'daemon off;'"   2 hours ago   Up 2 hours   80/tcp    web2

###值显示容器id
[root@localhost ~]#  docker ps -q
154748d5a3bf
026d9b1f23fe
42e2b0a3ebb2

###显示容器的大小
[root@localhost ~]#  docker ps -s
CONTAINER ID   IMAGE      COMMAND                  CREATED       STATUS       PORTS     NAMES     SIZE
154748d5a3bf   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours   80/tcp    web4      2B (virtual 415MB)
026d9b1f23fe   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours   80/tcp    web3      2B (virtual 415MB)
42e2b0a3ebb2   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours   80/tcp    web2      2B (virtual 415MB)


docker -f,–filter参数详解

这个大家可以理解为带有参数进行过滤

  • 注意点
  • 过滤一个条件就加一个–filter,也就是有几个条件命令行里面就得有几个–filter。例如:docker ps -a --filter 条件1 --filter 条件2 --filter 条件3
  • 条件支持正则,例如^以什么开头,$以什么结尾
  • 过滤条件是以键值对的方式在后面列出来的,例如:status= exited
  • 目前已知的条件
  • name:容器名
  • id:容器的id
  • status:容器状态
  • ancestor:镜像名
  • before:在这个容器之前的容器
  • exited:退出状态码
  • volume:挂载卷
  • network:网络
  • health:健康状态
#过滤以web开头的容器
[root@localhost ~]# docker ps -f name=^web   
CONTAINER ID   IMAGE      COMMAND                  CREATED       STATUS       PORTS     NAMES
154748d5a3bf   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours   80/tcp    web4
026d9b1f23fe   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours   80/tcp    web3
42e2b0a3ebb2   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours   80/tcp    web2

#过滤以eb2结尾的容器
[root@localhost ~]# docker ps -f name=eb2$
CONTAINER ID   IMAGE      COMMAND                  CREATED       STATUS       PORTS     NAMES
42e2b0a3ebb2   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Up 2 hours   80/tcp    web2

#过滤状态是exit的容器
[root@localhost ~]# docker ps -f status=exited
CONTAINER ID   IMAGE      COMMAND                  CREATED       STATUS                   PORTS     NAMES
91bb31b24e75   nginx:v1   "./sbin/nginx -g 'da…"   2 hours ago   Exited (0) 2 hours ago             web1

####其余的大家可以自己尝试

docker --format

这个大家可以这样理解,这个命令可以改变docker ps命令输出的格式

  • 大家先记住下面的几个
  • 可选项前面的“.”别落下了哈
–format可选功能显示
.ID容器ID
.Image镜像ID
.Command执行的命令
.CreatedAt容器创建时间
.RunningFor运行时长
.Ports暴露的端口
.Status容器状态
.Names容器名称
.Label分配给容器的所有标签
.Mounts容器挂载的卷
.Networks容器所用的网络名称
#开始我的表演
[root@localhost ~]# docker ps -a   #正常是这样输出到屏幕的
CONTAINER ID   IMAGE      COMMAND                  CREATED       STATUS                   PORTS     NAMES
154748d5a3bf   nginx:v1   "./sbin/nginx -g 'da…"   9 hours ago   Up 9 hours               80/tcp    web4
026d9b1f23fe   nginx:v1   "./sbin/nginx -g 'da…"   9 hours ago   Up 9 hours               80/tcp    web3
42e2b0a3ebb2   nginx:v1   "./sbin/nginx -g 'da…"   9 hours ago   Up 9 hours               80/tcp    web2
91bb31b24e75   nginx:v1   "./sbin/nginx -g 'da…"   9 hours ago   Exited (0) 9 hours ago             web1
[root@localhost ~]# docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}"   #利用--format后,可以指定他的输出格式,变成这样输出,是不是很酷,剩下的可以自己去探究吧
CONTAINER ID   NAMES     PORTS
154748d5a3bf   web4      80/tcp
026d9b1f23fe   web3      80/tcp
42e2b0a3ebb2   web2      80/tcp
为了找个女朋友而奋斗:结束语
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘帅0952

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值