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ługujetable(domyślny) orazjson(JSON Lines).--status— filtruje po stanie, np.--status runningalbo--status exited. Można podać wiele razy.--filter— filtruje po właściwości; w praktyce wspiera dziś tylkostatus=.--no-trunc— nie skraca długich wartości (np. pełne ID, komendy).--orphans— sterowanie pokazywaniem kontenerów-sierot;--orphans=falseje 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 lubjq.docker compose ps -q web— zwraca samo ID kontenera usługiweb, np. żeby od razu podać je dodocker 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.