docker compose ps

Wyświetla kontenery należące do projektu Compose.

docker compose ps pokazuje kontenery należące do bieżącego projektu Compose — czyli to, co opisałeś w pliku compose.yaml. To pierwsza komenda, po którą sięgasz, gdy chcesz sprawdzić, czy Twój stack faktycznie wstał: które usługi działają, na jakich portach nasłuchują i czy któraś przypadkiem nie wywaliła się zaraz po starcie. W odróżnieniu od czystego docker ps, ta wersja filtruje widok tylko do kontenerów Twojego projektu, więc nie tonie w setce obcych kontenerów na maszynie.

Składnia i najważniejsze opcje

Podstawowa składnia wygląda tak: docker compose ps [OPTIONS] [SERVICE...]. Domyślnie widzisz tylko kontenery uruchomione — te zatrzymane trzeba dociągnąć flagą.

  • -a, --all — pokazuje też kontenery zatrzymane i te, które padły (domyślnie tylko działające).
  • --services — wypisuje same nazwy usług, bez tabelki. Wygodne do skryptów.
  • -q, --quiet — zwraca wyłącznie ID kontenerów, idealne do podania dalej w potoku.
  • --format — zmienia format wyjścia; obsługuje table (domyślny) oraz json (JSON Lines).
  • --status — filtruje po stanie, np. --status running albo --status exited. Można podać wiele razy.
  • --filter — filtruje po właściwości; w praktyce wspiera dziś tylko status=.
  • --no-trunc — nie skraca długich wartości (np. pełne ID, komendy).
  • --orphans — sterowanie pokazywaniem kontenerów-sierot; --orphans=false je ukrywa.

Przykłady użycia

  • docker compose ps — najprostszy rzut oka: lista działających kontenerów projektu z portami i stanem.
  • docker compose ps -a — to samo, ale łapiesz też usługi zatrzymane i te, które wstały na sekundę i padły.
  • docker compose ps --status exited — pokazuje wyłącznie kontenery, które się zakończyły. Świetne do polowania na to, co nie chce wstać.
  • docker compose ps --format json | jq — wyjście jako JSON Lines, gotowe do przeparsowania w skrypcie lub jq.
  • docker compose ps -q web — zwraca samo ID kontenera usługi web, np. żeby od razu podać je do docker logs.

Częste błędy i pułapki

Najczęstsza wtopa: uruchamiasz komendę w katalogu, w którym nie ma pliku compose.yaml ani compose.yml, i dostajesz pustą listę albo błąd o braku pliku. Compose wiąże projekt z katalogiem, więc albo wejdź do właściwego folderu, albo wskaż plik przez docker compose -f sciezka/compose.yaml ps.

Druga pułapka: brak wyniku przy działających kontenerach. Pamiętaj, że domyślnie ps pomija zatrzymane — jeśli usługa padła, bez -a jej nie zobaczysz i będziesz myślał, że jej w ogóle nie ma. Uważaj też na różnicę między starym docker-compose ps (z myślnikiem, wtyczka v1 w Pythonie) a nowym docker compose ps (plugin v2) — składnia flag bywa subtelnie inna, a v1 jest już wycofana.

Powiązane komendy: docker compose up, docker compose down, docker compose logs, docker compose top oraz ogólnosystemowe docker ps.