Docker، یک پلتفرم دارای container است که به شما این امکان را می‌دهد که بتوانید به سرعت برنامه‌های کاربردی را به صورت containerهای مستقل از سیستم عامل و جابه‌جاپذیر در سیستم‌های مختلف ساخته، آزمایش کرده و مستقر نمایید.

این پلتفرم یک ابزار اساسی برای مهندسی DevOps و یکپارچه سازی مداوم و موازی سازی تحویل برنامه‌ها است.

 

در این مقاله، نحوه لیست کردن containerها درDocker  شرح داده شده است.

 

این مطلب نیز ممکن است برای شما مفید باشد: نحوه اتصال به Docker Container

 

نمایش containerهای Docker  

دستور Docker برای نمایش containerها به شرح زیر است:

$ docker container ls [options]

نسخه‌های قدیمی Docker (یعنی از نسخه 1.13 به قبل)، برای لیست کردن containerها از دستور دیگری استفاده می‌کنند:

$ docker ps [options]

دستور فوق در نسخه‌های Docker جدیدتر نیز پشتیبانی می‌شود که در آن، دستور ps نشان‌دهنده container ls است.

 

برای نمایش container در حال اجرا، دستور docker konten ls را بدون هیچ گزینه دیگری اجرا نمایید:

$ docker container ls

خروجی چیزی شبیه به این خواهد بود:

Output:
CONTAINER ID    IMAGE        COMMAND                  CREATED        STATUS        PORTS       NAMES
c8bded53da86    postgres     "docker-entrypoint.s…"   2 hours ago    Up 2 hours    5432/tcp    pg
571c3a115fcf    redis        "docker-entrypoint.s…"   4 hours ago    Up 4 hours    6379/tcp    cache
05ef6d8680ba    nginx        "nginx -g 'daemon of…"   2 hours ago    Up 2 hours    80/tcp      web

 

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

Container ID: رشته الفبایی منحصر به فرد که هر container را مشخص می‌کند.

Image: فایل Image مربوط به Docker که برای ایجاد container استفاده می‌شود.

Command: دستوری که هنگام راه‌اندازی container اجرا می‌شود.

Created: زمان ایجاد container را نشان می‌دهد.

Status: وضعیت container را نشان می‌دهد.

Ports: پورت‌های منتشر شده container را نشان می‌دهد.

Name: نام container را نشان می‌دهد.

 

در صورت عدم وجود containerهای در حال اجرا، فقط خط هدر نمایش داده می‌شود.

گزینه a ،--all- به docker konten ls می‌گوید لیستی از تمام containerها را نمایش دهد:

$ docker container ls -a
Output:
CONTAINER ID    IMAGE        COMMAND                  CREATED        STATUS                    PORTS       NAMES
b28cbaa91f15    couchbase    "/entrypoint.sh couc…"   5 hours ago    Exited (0) 3 hours ago                db
c8bded53da86    postgres     "docker-entrypoint.s…"   2 hours ago    Up 2 hours                5432/tcp    pg
571c3a115fcf    redis        "docker-entrypoint.s…"   4 hours ago    Up 4 hours                6379/tcp    cache
05ef6d8680ba    nginx        "nginx -g 'daemon of…"   2 hours ago    Up 2 hours                80/tcp      web

 

به‌طور پیش فرض، ستون‌هایی با طول بیش از یک حد مشخص، کوتاه می‌شوند. برای غیرفعال کردن این کار از گزینه no-trunc-- استفاده کنید:

$ docker container ls --no-trunc

برای نمایش فقط شناسه containerها از گزینه q ،--quiet- استفاده نمایید:

$ docker container ls -q
Output:
c8bded53da86
571c3a115fcf
05ef6d8680ba

گزینه format-- به شما امکان می‌دهد تا خروجی را با استفاده از یک الگوی Go قالب بندی کنید. به‌عنوان‌مثال، برای چاپ تنها نام و وضعیت containerها، باید دستور زیر را اجرا نمایید:

$ docker container ls --format 'table {{.Names}}\t{{.Status}}'
Output:
NAMES    STATUS
pg       Up 2 hours
cache    Up 4 hours
web      Up 2 hours

 

برای مشاهده اندازه containerها از گزینه s ،--size- استفاده کنید:

$ docker container ls -s

هر خط شامل ستونی با نام SIZE است که اندازه container را نشان می‌دهد:

Output:
CONTAINER ID    IMAGE        COMMAND                  CREATED        STATUS        PORTS       NAMES    SIZE
c8bded53da86    postgres     "docker-entrypoint.s…"   2 hours ago    Up 2 hours    5432/tcp    pg       63B (virtual 394MB)
571c3a115fcf    redis        "docker-entrypoint.s…"   4 hours ago    Up 4 hours    6379/tcp    cache    0B (virtual 98.2MB)
05ef6d8680ba    nginx        "nginx -g 'daemon of…"   2 hours ago    Up 2 hours    80/tcp      web      2B (virtual 126MB)

گزینه last ،-n-- به این دستور می‌گوید، به تعداد nتا container ایجاد شده آخر را به همراه همه حالت‌ها نشان دهد. به‌عنوان‌مثال، برای مشاهده دو containerها ایجاد شده آخر، باید دستور زیر را اجرا نمایید:

$ docker container ls -n 2
Output:
CONTAINER ID    IMAGE        COMMAND                  CREATED        STATUS                    PORTS       NAMES
b28cbaa91f15    couchbase    "/entrypoint.sh couc…"   5 hours ago    Exited (0) 3 hours ago                db
c8bded53da86    postgres     "docker-entrypoint.s…"   2 hours ago    Up 2 hours                5432/tcp    pg

 

همچنین برای نمایش تنها جدیدترین container ایجاد شده، از گزینه latest ،-l-- استفاده نمایید که مشابه n 1- عمل می‌کند:

$ docker container ls -l

گزینه filter ،-f-- به شما امکان می‌دهد، خروجی را بر اساس معیارهای خاصی فیلتر نمایید. به عنوان مثال، برای مشاهده تنها containerهای دارای وضعیت exited، باید از دستور زیر استفاده کنید:

$ docker container ls -f "status=exited"
Output:
CONTAINER ID    IMAGE        COMMAND                  CREATED        STATUS                    PORTS       NAMES
b28cbaa91f15    couchbase    "/entrypoint.sh couc…"   5 hours ago    Exited (0) 3 hours ago                db

فیلتر‌های پشتیبانی شده دیگری نیز وجود دارد که برای یادگیری آن‌ها باید مستندات Docker را بررسی نمایید.

 

 

منبع:

linuxize