docker ps în Docker

Containere Docker 1.0+

Listează containerele care rulează (sau toate, cu -a).

Sintaxă comandă
docker ps [opțiuni]

Ce face docker ps

Comanda docker ps (echivalentă cu docker container ls) afișează containerele aflate în execuție: ID-ul scurt, imaginea, comanda pornită, când a fost creat, starea, porturile publicate și numele.

Implicit sunt afișate doar containerele care rulează. Cu -a vezi și containerele oprite (Exited), create dar nepornite (Created) sau în curs de repornire (Restarting). Codul din Exited (0) este codul de ieșire al procesului principal: 0 înseamnă succes, orice altă valoare indică o eroare.

Coloana STATUS arată și starea healthcheck-ului, dacă imaginea definește unul: (healthy), (unhealthy) sau (health: starting).

Opțiuni și argumente

Opțiune / Parametru Descriere
-a, --all Afișează toate containerele, inclusiv cele oprite.
-q, --quiet Afișează doar ID-urile (util pentru docker stop $(docker ps -q)).
-f, --filter Filtrează, de exemplu status=exited, name=web, ancestor=nginx.
--format Șablon Go, de exemplu "table {{.Names}}\t{{.Status}}".
-s, --size Afișează și dimensiunea stratului scris de fiecare container.
-n, --last N Afișează ultimele N containere create.
--no-trunc Nu trunchia ID-urile și comenzile.

Exemple

Exemplul 1: Containerele care rulează

Tabelul standard, cu toate cele șapte coloane.

docker ps

Ieșire în terminal

CONTAINER ID   IMAGE                COMMAND                  CREATED          STATUS                    PORTS                                         NAMES
9f3c2a1b7e6d   nginx:1.27           "/docker-entrypoint.…"   12 minutes ago   Up 12 minutes             0.0.0.0:8080->80/tcp, [::]:8080->80/tcp       web
c1d2e3f4a5b6   postgres:16          "docker-entrypoint.s…"   3 hours ago      Up 3 hours (healthy)      0.0.0.0:5432->5432/tcp, [::]:5432->5432/tcp   db
7a8b9c0d1e2f   dexblog/api:2.3.1    "gunicorn -b 0.0.0.0…"   3 hours ago      Up 3 hours                8000/tcp                                      api

Exemplul 2: Inclusiv containerele oprite

Containerul migrare s-a terminat cu succes, iar worker a ieșit cu eroare.

docker ps -a

Ieșire în terminal

CONTAINER ID   IMAGE               COMMAND                  CREATED          STATUS                      PORTS                                     NAMES
9f3c2a1b7e6d   nginx:1.27          "/docker-entrypoint.…"   12 minutes ago   Up 12 minutes               0.0.0.0:8080->80/tcp, [::]:8080->80/tcp   web
3e4f5a6b7c8d   dexblog/api:2.3.1   "python manage.py mi…"   2 hours ago      Exited (0) 2 hours ago                                                migrare
5b6c7d8e9f0a   dexblog/api:2.3.1   "celery -A app worker"   2 hours ago      Exited (1) 58 minutes ago                                             worker

Exemplul 3: Doar numele și starea

Un format compact cu --format.

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

Ieșire în terminal

NAMES     STATUS
web       Up 12 minutes
db        Up 3 hours (healthy)
api       Up 3 hours

Greșeli frecvente

  • Concluzia că un container „a dispărut” pentru că nu apare în docker ps: probabil s-a oprit. Verifică cu docker ps -a și citește cauza cu docker logs.
  • Port afișat fără 0.0.0.0:...-> (de exemplu doar 8000/tcp): portul este expus, dar nu este publicat pe gazdă. Lipsește opțiunea -p.

Comenzi înrudite

  • docker run: Creează și pornește un container nou dintr-o imagine.
  • docker start / docker stop: Pornește un container existent oprit sau oprește grațios un container care rulează.
  • docker logs: Afișează ieșirea standard (stdout și stderr) a unui container.
  • docker inspect: Afișează în format JSON toate detaliile de nivel jos ale unui obiect Docker.