docker ps 显示指定的列
阅读原文时间:2023年07月13日阅读:2

可以自己指定显示的模板,例如:

docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}"

  • table - 表示显示表头列名
  • {{.ID}} - 容器ID
  • {{.Command}} - 启动执行的命令

显示结果:

$ docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}"
CONTAINER ID NAMES PORTS
db3df460fe14 dev-peer0.org1.example.com-fabcar-1.0
b6f803814cce cli
10724ca7364f peer0.org1.example.com 0.0.0.0:7051->7051/tcp, 0.0.0.0:7053->7053/tcp
20d930e6e9f7 ca.example.com 0.0.0.0:7054->7054/tcp

可用的占位符

名称

含义

.ID

容器ID

.Image

镜像ID

.Command

执行的命令

.CreatedAt

容器创建时间

.RunningFor

运行时长

.Ports

暴露的端口

.Status

容器状态

.Names

容器名称

.Label

分配给容器的所有标签

.Mounts

容器挂载的卷

.Networks

容器所用的网络名称

docker ps --filter id=a1b2c3 --filter name=bingohuang

CONTAINER ID: 容器 ID。

IMAGE: 使用的镜像。

COMMAND: 启动容器时运行的命令。

CREATED: 容器的创建时间。

STATUS: 容器状态。

状态有7种:

  • created(已创建)
  • restarting(重启中)
  • running(运行中)
  • removing(迁移中)
  • paused(暂停)
  • exited(停止)
  • dead(死亡)

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

NAMES: 自动分配的容器名称。

根据条件过滤显示的内容

根据标签过滤

$ docker run -d --name=test-nginx --label color=blue nginx
$ docker ps --filter "label=color"
$ docker ps --filter "label=color=blue"

根据名称过滤

$ docker ps --filter"name=test-nginx"

根据状态过滤

$ docker ps -a --filter 'exited=0'
$ docker ps --filter status=running
$ docker ps --filter status=paused

根据镜像过滤

#镜像名称
$ docker ps --filter ancestor=nginx

#镜像ID
$ docker ps --filter ancestor=d0e008c6cf02

根据启动顺序过滤

$ docker ps -f before=9c3527ed70ce
$ docker ps -f since=6e63f6ff38b0