名称¶
podman-ps - 打印容器信息
简介¶
podman ps [选项]
podman container ps [选项]
podman container list [选项]
podman container ls [选项]
描述¶
podman ps 列出系统上正在运行的容器。使用 --all 标志查看所有容器信息。默认情况下,它列出:
容器 ID
容器正在使用的镜像名称
容器正在执行的 COMMAND
容器创建时间
容器状态
容器正在使用的端口映射
容器的替代名称
选项¶
--all, -a¶
显示所有容器,默认只显示正在运行的容器。
注意:Podman 与 Buildah 和 CRI-O 等其他工具共享容器存储。在某些情况下,这些 外部
容器可能也存在于相同的存储中。使用 --external
选项查看这些外部容器。外部容器显示“存储”状态。
--external¶
显示不由 Podman 控制但存储在容器存储中的外部容器。这些外部容器通常通过 Buildah 或 CRI-O 等其他容器技术创建,并且可能依赖于 Podman 也在使用的相同容器镜像。外部容器在 ps 输出的 COMMAND 和 STATUS 列中用“buildah”或“storage”表示。
--filter, -f¶
筛选输出中显示的容器。可以通过多次使用 --filter 标志来给出多个过滤器。具有相同键的过滤器是包含性的,唯一的例外是 label
,它是排他性的。具有不同键的过滤器始终是排他性的。
下面列出了有效的过滤器
过滤器 |
描述 |
---|---|
id |
[ID] 容器的 ID(默认情况下 CID 前缀匹配;接受正则表达式) |
name |
[名称] 容器的名称(接受正则表达式) |
label |
[键] 或 [键=值] 分配给容器的标签 |
label! |
[键] 或 [键=值] 未分配给容器的标签 |
exited |
[整数] 容器的退出代码 |
status |
[状态] 容器的状态:“created”、“initialized”、“exited”、“paused”、“running”、“unknown” |
ancestor |
[镜像名称] 用于创建容器的镜像或后代(接受正则表达式) |
before |
[ID] 或 [名称] 在此容器之前创建的容器 |
since |
[ID] 或 [名称] 在此容器之后创建的容器 |
volume |
[卷名称] 或 [挂载点目标] 挂载在容器中的卷 |
health |
[状态] healthy 或 unhealthy |
pod |
[Pod] pod 的名称或完整或部分 ID |
network |
[网络] 网络的名称或完整 ID |
until |
[日期时间] 在给定持续时间或时间之前创建的容器。 |
command |
[命令] 容器正在执行的命令,只取 argv[0] |
--format=格式¶
将容器漂亮地打印为 JSON 或使用 Go 模板
Go 模板的有效占位符如下所列
占位符 |
描述 |
---|---|
.AutoRemove |
如果为 true,容器将在退出时被删除 |
.CIDFile |
容器 ID 文件 |
.Command |
使用的带引号的命令 |
.Created … |
容器创建时间,Y-M-D H:M:S |
.CreatedAt |
容器创建时间(同上) |
.CreatedHuman |
创建时间,相对 |
.ExitCode |
容器退出代码 |
.Exited |
如果容器已退出,则为“true” |
.ExitedAt |
容器退出时间(纪元秒) |
.ExposedPorts … |
此容器上暴露端口的映射 |
.ID |
容器 ID |
.Image |
镜像名称/ID |
.ImageID |
镜像 ID |
.IsInfra |
如果是基础设施容器,则为“true” |
.Label 字符串 |
容器的指定标签 |
.Labels … |
分配给容器的所有标签 |
.Mounts |
挂载在容器中的卷 |
.Names |
容器名称 |
.Networks |
显示连接到容器的所有网络 |
.Pid |
主机系统上的进程 ID |
.Pod |
容器关联的 Pod (SHA) |
.PodName |
容器的 PodName |
.Ports |
转发和暴露的端口 |
.Restarts |
显示容器重启计数 |
.RunningFor |
容器启动以来的时间 |
.Size |
容器大小 |
.StartedAt |
容器启动时间(纪元秒) |
.State |
容器状态的人性化描述 |
.Status |
容器状态 |
--help, -h¶
打印用法说明
--last, -n¶
打印最后 n 个创建的容器(所有状态)
--latest, -l¶
显示最新创建的容器(所有状态)(此选项不适用于远程 Podman 客户端,包括 Mac 和 Windows(不包括 WSL2)机器)
--namespace, --ns¶
显示命名空间信息
--no-trunc¶
不截断输出(默认为 false)。
--noheading¶
从容器列表中省略表头。
--pod, -p¶
显示容器关联的 Pod
--quiet, -q¶
仅打印容器的数字 ID
--size, -s¶
显示总文件大小
--sort=created¶
按 command、created、id、image、names、runningfor、size 或 status 排序。注意:选择 size 按 rootFs 大小排序,而不像其他选项那样按字母顺序排序
--sync¶
强制将容器状态与 OCI 运行时同步。在某些情况下,运行时中的容器状态可能与 Podman 的状态不同步。这会根据 OCI 运行时报告的内容更新 Podman 的状态。强制同步要慢得多,但可以解决不一致的状态问题。
--watch, -w¶
每隔几秒刷新输出,显示当前容器。
示例¶
列出正在运行的容器。
$ podman ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4089df24d4f3 docker.io/library/centos:latest /bin/bash 2 minutes ago Up 2 minutes 0.0.0.0:80->8080/tcp, 0.0.0.0:2000-2006->2000-2006/tcp manyports
92f58933c28c docker.io/library/centos:latest /bin/bash 3 minutes ago Up 3 minutes 192.168.99.100:1000-1006->1000-1006/tcp zen_sanderson
列出所有容器。
$ podman ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
02f65160e14ca redis:alpine "redis-server" 19 hours ago Exited (-1) 19 hours ago 6379/tcp k8s_podsandbox1-redis_podsandbox1_redhat.test.crio_redhat-test-crio_0
69ed779d8ef9f redis:alpine "redis-server" 25 hours ago Created 6379/tcp k8s_container1_podsandbox1_redhat.test.crio_redhat-test-crio_1
列出所有容器,包括它们的大小。注意:这可能需要更长时间,因为 Podman 需要从文件系统中计算大小。
$ podman ps -a -s
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE
02f65160e14ca redis:alpine "redis-server" 20 hours ago Exited (-1) 20 hours ago 6379/tcp k8s_podsandbox1-redis_podsandbox1_redhat.test.crio_redhat-test-crio_0 27.49 MB
69ed779d8ef9f redis:alpine "redis-server" 25 hours ago Created 6379/tcp k8s_container1_podsandbox1_redhat.test.crio_redhat-test-crio_1 27.49 MB
使用自定义 Go 格式列出所有容器,无论是否运行。
$ podman ps -a --format "{{.ID}} {{.Image}} {{.Labels}} {{.Mounts}}"
02f65160e14ca redis:alpine tier=backend proc,tmpfs,devpts,shm,mqueue,sysfs,cgroup,/var/run/,/var/run/
69ed779d8ef9f redis:alpine batch=no,type=small proc,tmpfs,devpts,shm,mqueue,sysfs,cgroup,/var/run/,/var/run/
列出所有容器并显示它们的命名空间。
$ podman ps --ns -a
CONTAINER ID NAMES PID CGROUP IPC MNT NET PIDNS USER UTS
3557d882a82e3 k8s_container2_podsandbox1_redhat.test.crio_redhat-test-crio_1 29910 4026531835 4026532585 4026532593 4026532508 4026532595 4026531837 4026532594
09564cdae0bec k8s_container1_podsandbox1_redhat.test.crio_redhat-test-crio_1 29851 4026531835 4026532585 4026532590 4026532508 4026532592 4026531837 4026532591
a31ebbee9cee7 k8s_podsandbox1-redis_podsandbox1_redhat.test.crio_redhat-test-crio_0 29717 4026531835 4026532585 4026532587 4026532508 4026532589 4026531837 4026532588
列出所有容器,包括大小,并按名称排序。
$ podman ps -a --size --sort names
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
69ed779d8ef9f redis:alpine "redis-server" 25 hours ago Created 6379/tcp k8s_container1_podsandbox1_redhat.test.crio_redhat-test-crio_1
02f65160e14ca redis:alpine "redis-server" 19 hours ago Exited (-1) 19 hours ago 6379/tcp k8s_podsandbox1-redis_podsandbox1_redhat.test.crio_redhat-test-crio_0
列出除 Podman 之外的工具创建的所有外部容器。
$ podman ps --external -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
69ed779d8ef9f redis:alpine "redis-server" 25 hours ago Created 6379/tcp k8s_container1_podsandbox1_redhat.test.crio_redhat-test-crio_1
38a8a78596f9 docker.io/library/busybox:latest buildah 2 hours ago storage busybox-working-container
fd7b786b5c32 docker.io/library/alpine:latest buildah 2 hours ago storage alpine-working-container
f78620804e00 scratch buildah 2 hours ago storage working-container
列出容器及其关联的 Pod。
$ podman ps --pod
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES POD ID PODNAME
4089df24d4f3 docker.io/library/nginx:latest nginx 2 minutes ago Up 2 minutes 80/tcp webserver 1234567890ab web-pod
92f58933c28c docker.io/library/redis:latest redis 3 minutes ago Up 3 minutes 6379/tcp cache 1234567890ab web-pod
a1b2c3d4e5f6 docker.io/library/centos:latest /bin/bash 1 minute ago Up 1 minute standalone-container
列出所有带有 Pod 信息的容器,包括那些不在 Pod 中的容器。
$ podman ps -a --pod
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES POD ID PODNAME
4089df24d4f3 docker.io/library/nginx:latest nginx 2 minutes ago Up 2 minutes 80/tcp webserver 1234567890ab web-pod
92f58933c28c docker.io/library/redis:latest redis 3 minutes ago Up 3 minutes 6379/tcp cache 1234567890ab web-pod
69ed779d8ef9f redis:alpine redis 25 hours ago Exited (0) 25 hours ago 6379/tcp old-cache 5678901234cd old-pod
a1b2c3d4e5f6 docker.io/library/centos:latest /bin/bash 1 minute ago Up 1 minute standalone-container
按 Pod 名称筛选容器。
$ podman ps --filter pod=web-pod
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4089df24d4f3 docker.io/library/nginx:latest nginx 2 minutes ago Up 2 minutes 80/tcp webserver
92f58933c28c docker.io/library/redis:latest redis 3 minutes ago Up 3 minutes 6379/tcp cache
按状态筛选容器。
$ podman ps --filter status=running
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ff660efda598 docker.io/library/nginx:latest nginx -g daemon o... 3 minutes ago Up 3 minutes 0.0.0.0:8080->80/tcp webserver
5693e934f4c6 docker.io/library/redis:latest redis-server 3 minutes ago Up 3 minutes 6379/tcp cache
2b271d67dbb6 3 minutes ago Up 3 minutes 0.0.0.0:9090->80/tcp 463241862e7e-infra
23f99674da1c docker.io/library/nginx:latest nginx -g daemon o... 3 minutes ago Up 3 minutes 0.0.0.0:9090->80/tcp pod-nginx
62180adfbd42 docker.io/library/redis:latest redis-server 3 minutes ago Up 3 minutes 0.0.0.0:9090->80/tcp, 6379/tcp pod-redis
5e3694604817 quay.io/centos/centos:latest sleep 300 3 minutes ago Up 3 minutes centos-test
af3d8b3f5471 docker.io/library/busybox:latest sleep 1000 3 minutes ago Up 3 minutes test-dev
b6ee47492b64 docker.io/library/nginx:latest nginx -g daemon o... 3 minutes ago Up 3 minutes (healthy) 80/tcp healthy-nginx
db75e6c397db docker.io/library/busybox:latest sleep 300 23 seconds ago Up 23 seconds test-volume-container
$ podman ps -a --filter status=exited
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
94f211cc6e36 docker.io/library/alpine:latest sleep 1 4 minutes ago Exited (0) 4 minutes ago old-alpine
75a800cb848a docker.io/library/mysql:latest mysqld 3 minutes ago Exited (1) 3 minutes ago 3306/tcp, 33060/tcp db-container
2d9b3a94e31e docker.io/library/nginx:latest nginx 3 minutes ago Exited (0) 3 minutes ago 80/tcp nginx-cmd
按名称筛选容器。
$ podman ps --filter name=webserver
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ff660efda598 docker.io/library/nginx:latest nginx -g daemon o... 3 minutes ago Up 3 minutes 0.0.0.0:8080->80/tcp webserver
按标签筛选容器。
$ podman ps --filter label=app=frontend
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ff660efda598 docker.io/library/nginx:latest nginx -g daemon o... 3 minutes ago Up 3 minutes 0.0.0.0:8080->80/tcp webserver
按卷筛选容器。
$ podman ps --filter volume=mydata
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
db75e6c397db docker.io/library/busybox:latest sleep 300 42 seconds ago Up 42 seconds test-volume-container
按网络筛选容器。
$ podman ps --filter network=web-net
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5e3694604817 quay.io/centos/centos:latest sleep 300 3 minutes ago Up 3 minutes centos-test
使用自定义格式显示容器和 Pod 信息。
$ podman ps --format "{{.Names}} is in pod {{.PodName}} ({{.Pod}})"
webserver is in pod web-pod (1234567890ab)
cache is in pod web-pod (1234567890ab)
standalone-container is in pod ()
另请参阅¶
历史¶
2017年8月,由 Urvashi Mohnani umohnani@redhat.com 首次编写