podman-ps(1) General Commands Manual podman-ps(1)

podman-ps - چاپ اطلاعات درباره کانتینرها

podman ps [گزینه‌ها]

podman container ps [گزینه‌ها]

podman container list [گزینه‌ها]

podman container ls [گزینه‌ها]

دستور podman ps کانتینرهای در حال اجرا روی سیستم را فهرست می‌کند. برای مشاهده اطلاعات تمامی کانتینرها از گزینه --all استفاده کنید. به طور پیش‌فرض موارد زیر فهرست می‌شوند:

  • شناسه کانتینر
  • نام ایمیجی که کانتینر استفاده می‌کند
  • دستوری (COMMAND) که کانتینر اجرا می‌کند
  • زمان ایجاد کانتینر
  • وضعیت کانتینر
  • نگاشت‌های پورتی که کانتینر استفاده می‌کند
  • نام‌های جایگزین برای کانتینر

نمایش تمامی کانتینرها، حالت پیش‌فرض تنها کانتینرهای در حال اجرا است.

نکته: پادمن حافظه ذخیره‌سازی کانتینرها را با ابزارهای دیگری مانند Buildah و CRI-O به اشتراک می‌گذارد. در برخی موارد ممکن است این کانتینرهای «خارجی» (external) نیز در همان فضای ذخیره‌سازی وجود داشته باشند. برای مشاهده این کانتینرهای خارجی از گزینه --external استفاده کنید. کانتینرهای خارجی وضعیت 'storage' را نشان می‌دهند.

نمایش کانتینرهای خارجی که تحت کنترل پادمن نیستند اما در فضای ذخیره‌سازی کانتینرها ذخیره شده‌اند. این کانتینرهای خارجی معمولاً از طریق سایر فناوری‌های کانتینری مانند Buildah یا CRI-O ایجاد می‌شوند و ممکن است به همان ایمیج‌های کانتینری وابسته باشند که پادمن نیز از آن‌ها استفاده می‌کند. کانتینرهای خارجی با عبارت 'buildah' یا 'storage' در ستون‌های COMMAND و STATUS خروجی ps مشخص می‌شوند.

فیلترهای restart-policy، volume، health و annotation برای کانتینرهای خارجی قابل اعمال نیستند.

فیلتر کردن کانتینرهایی که در خروجی ps نمایش داده می‌شوند. با استفاده مکرر از گزینه --filter می‌توان چندین فیلتر را تعیین کرد. فیلترهای با کلید یکسان به صورت فراگیر (یا منطقی) عمل می‌کنند، تنها استثنا label است که انحصاری است. فیلترهای با کلیدهای مختلف همواره به صورت انحصاری (و منطقی) عمل می‌کنند.

فیلترهای معتبر در جدول زیر فهرست شده‌اند:

فیلتر توضیحات
id [شناسه] شناسه کانتینر (پیشوند CID به صورت پیش‌فرض؛ پذیرش رجکس)
name [نام] نام کانتینر (پذیرش رجکس)
annotation [کلید] یا [کلید=مقدار] یادداشت انتساب‌داده‌شده به کانتینر
annotation! [کلید] یا [کلید=مقدار] یادداشتی که به کانتینر انتساب داده نشده است
label [کلید] یا [کلید=مقدار] برچسب انتساب‌داده‌شده به کانتینر
label! [کلید] یا [کلید=مقدار] برچسبی که به کانتینر انتساب داده نشده است
exited [عدد صحیح] کد خروج کانتینر
status [وضعیت] وضعیت کانتینر: 'created'، 'initialized'، 'running'، 'stopped'، 'paused'، 'exited'، 'removing'، 'stopping'، 'unknown'
ancestor [نام‌ایمیج] ایمیج یا نسلی از آن که برای ایجاد کانتینر استفاده شده (پذیرش رجکس)
before [شناسه] یا [نام] کانتینرهای ایجادشده قبل از این کانتینر
since [شناسه] یا [نام] کانتینرهای ایجادشده پس از این کانتینر
volume [نام‌ولوم] یا [مقصدنقطه‌اتصال] ولوم متصل‌شده در کانتینر
health [وضعیت] سالم (healthy) یا ناسالم (unhealthy)
pod [پاد] نام یا شناسه کامل یا جزئی پاد
network [شبکه] نام یا شناسه کامل شبکه
restart-policy [سیاست] سیاست راه‌اندازی مجدد کانتینر (مانند 'no'، 'on-failure'، 'always'، 'unless-stopped')
until [تاریخ‌زمان] کانتینرهای ایجادشده قبل از مدت زمان یا زمان مشخص‌شده
command [دستور] دستوری که کانتینر در حال اجرای آن است، تنها argv[0] در نظر گرفته می‌شود
should-start-on-boot [بولی] کانتینرهایی که پس از راه‌اندازی مجدد سیستم باید ری‌استارت شوند. برای کانتینرهایی با سیاست راه‌اندازی مجدد 'always' یا 'unless-stopped' که صریحاً توسط کاربر متوقف نشده‌اند، برابر با True است

چاپ خوانا و قالب‌بندی‌شده کانتینرها به JSON یا با استفاده از یک الگوی Go

متغیرهای جانگهدار معتبر برای الگوی Go در زیر فهرست شده‌اند:

جانگهدار توضیحات
.AutoRemove اگر true باشد، کانتینرها پس از خروج حذف می‌شوند
.CIDFile فایل شناسه کانتینر
.Command دستور نقل‌قول‌شده مورد استفاده
.Created ... زمان ایجاد کانتینر، سال-ماه-روز ساعت:دقیقه:ثانیه
.CreatedAt زمان ایجاد کانتینر (مشابه مورد بالا)
.CreatedHuman زمان ایجاد، به صورت نسبی
.ExitCode کد خروج کانتینر
.Exited اگر کانتینر خارج شده باشد "true"
.ExitedAt زمان (ثانیه‌های epoch) خروج کانتینر
.ExposedPorts ... نگاشت پورت‌های در معرض دسترسی (exposed) روی این کانتینر
.ID شناسه کانتینر
.Image نام/شناسه ایمیج
.ImageID شناسه ایمیج
.IsInfra اگر کانتینر زیرساختی باشد "true"
.Label رشته برچسب مشخص‌شده برای کانتینر
.Labels تمام برچسب‌های اختصاص‌یافته به کانتینر
.Mounts ولوم‌های متصل‌شده در کانتینر
.Names نام کانتینر
.Networks نمایش تمامی شبکه‌های متصل به کانتینر
.Pid شناسه فرایند روی سیستم میزبان
.Pod پادی که کانتینر با آن مرتبط است (SHA)
.PodName نام پاد کانتینر
.Ports پورت‌های فورواردشده و اکسپوزشده
.Restarts نمایش تعداد دفعات راه‌اندازی مجدد کانتینر
.RunningFor زمان سپری‌شده از زمان شروع به کار کانتینر
.Size اندازه کانتینر
.StartedAt زمان (ثانیه‌های epoch) شروع کانتینر
.State توضیح قابل درک برای انسان از وضعیت کانتینر
.Status وضعیت کانتینر

چاپ پیام راهنما

چاپ n کانتینر آخر ایجادشده (در تمامی وضعیت‌ها)

نمایش آخرین کانتینر ایجادشده (در تمامی وضعیت‌ها) (این گزینه در کلاینت راه دور پادمن، از جمله ماشین‌های مک و ویندوز (به استثنای WSL2) در دسترس نیست)

نمایش اطلاعات فضای نام (namespace)

کوتاه نکردن خروجی (پیش‌فرض false).

حذف سرستون‌های جدول از فهرست کانتینرها.

نمایش پادهایی که کانتینرها با آن‌ها مرتبط هستند

تنها چاپ شناسه‌های عددی کانتینرها

نمایش اندازه کل فایل‌ها

مرتب‌سازی بر اساس command، created، id، image، names، runningfor، size یا status. نکته: انتخاب size مرتب‌سازی را بر اساس اندازه rootFs انجام می‌دهد، نه الفبایی مانند سایر گزینه‌ها.

همگام‌سازی اجباری وضعیت کانتینر با زمان اجرای OCI (OCI runtime). در برخی موارد، وضعیت کانتینر در زمان اجرا می‌تواند با وضعیت پادمن ناهمگام شود. این گزینه وضعیت پادمن را بر اساس گزارش زمان اجرای OCI به‌روزرسانی می‌کند. همگام‌سازی اجباری بسیار کندتر است، اما می‌تواند مشکلات وضعیت نامتعادل را برطرف کند.

تازه‌سازی خروجی با کانتینرهای فعلی در فواصل زمانی مشخص بر حسب ثانیه.

فهرست کردن کانتینرهای در حال اجرا:

$ 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 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 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

فهرست کردن کانتینرها به همراه پادهای مرتبط با آن‌ها:

$ 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

فهرست کردن تمامی کانتینرها با اطلاعات پاد، از جمله آن‌هایی که در پاد نیستند:

$ 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

فیلتر کردن کانتینرها بر اساس نام پاد:

$ 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 annotation=io.podman.annotations.autoremove=false
CONTAINER ID  IMAGE                             COMMAND     CREATED        STATUS        PORTS       NAMES
5e3694604817  quay.io/centos/centos:latest      sleep 300   3 minutes ago  Up 3 minutes              centos-test

فیلتر کردن کانتینرها بر اساس ولوم:

$ 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

فیلتر کردن کانتینرهایی که پس از راه‌اندازی مجدد سیستم باید راه‌اندازی شوند:

$ podman ps -a --filter should-start-on-boot=true
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  Exited (0) 3 minutes ago  6379/tcp              cache

استفاده از الگوی سفارشی برای نمایش اطلاعات کانتینر و پاد:

$ 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  ()

podman(1), buildah(1), crio(8)

آگوست ۲۰۱۷، در ابتدا توسط اورواشی موهنانی (Urvashi Mohnani) umohnani@redhat.com گردآوری شد ⟨mailto:umohnani@redhat.com⟩