3.1 Podstawy polecenia docker ps
Polecenie docker ps — jedno z najbardziej przydatnych w arsenale Docker. Wyświetla listę działających kontenerów i dostarcza informacji o nich. W tym wykładzie szczegółowo omówimy, jak używać docker ps, aby sprawdzić stan twoich kontenerów oraz jakie opcje są dostępne do bardziej szczegółowego wyświetlania informacji.
Domyślnie polecenie docker ps wyświetla listę tylko tych kontenerów, które są aktualnie uruchomione.
Składnia
docker ps [OPTIONS]
Gdzie:
-
OPTIONS: dodatkowe parametry do filtrowania i formatowania wyświetlania.
Przykład podstawowego użycia
docker ps
To podstawowe wywołanie polecenia docker ps wyświetli listę wszystkich uruchomionych kontenerów. Wyjście będzie zawierać następujące pola:
- CONTAINER ID: unikalny identyfikator kontenera.
- IMAGE: obraz, z którego został utworzony kontener.
- COMMAND: polecenie wykonywane w kontenerze.
- CREATED: czas, jaki minął od utworzenia kontenera.
- STATUS: aktualny stan kontenera (np. Up 5 minutes).
- PORTS: przekierowane porty.
- NAMES: nazwa kontenera.
Lista wszystkich kontenerów
Aby wyświetlić wszystkie kontenery, w tym zatrzymane, użyj opcji -a:
docker ps -a
To polecenie wyświetli listę wszystkich kontenerów, które kiedykolwiek były uruchomione, z podaniem ich aktualnego stanu (uruchomiony, zatrzymany itd.).
3.2 Filtrowanie wyników
Docker daje możliwość filtrowania wyników komendy docker ps, aby wyświetlić tylko te kontenery, które spełniają określone kryteria.
1. Filtrowanie według statusu
Na przykład, aby wyświetlić tylko zatrzymane kontenery:
docker ps -f "status=exited"
2. Filtrowanie według nazwy
Aby wyświetlić kontenery o określonej nazwie lub jej części:
docker ps -f "name=my_container"
3. Filtrowanie według obrazu
Aby wyświetlić kontenery stworzone z konkretnego obrazu:
docker ps -f "ancestor=nginx"
3.3 Formatowanie wyjścia
Możesz dostosować wyjście komendy docker ps, aby było bardziej czytelne lub zawierało tylko interesujące Cię pola. Do tego używany jest parametr --format.
Przykład formatowania
docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"
Ten przykład wyświetla tabelę z identyfikatorami kontenerów, ich nazwami i statusem.
Dostępne kolumny tabeli
- {{.ID}}: identyfikator kontenera.
- {{.Image}}: obraz kontenera.
- {{.Command}}: komenda wykonywana w kontenerze.
- {{.CreatedAt}}: czas utworzenia kontenera.
- {{.RunningFor}}: czas działania kontenera.
- {{.Status}}: aktualny stan kontenera.
- {{.Ports}}: przekierowane porty.
- {{.Names}}: nazwa kontenera.
Przykłady użycia
Przykład 1: wyświetlanie tylko identyfikatorów kontenerów
Ten przykład pokaże tylko identyfikatory uruchomionych kontenerów. Przydatne do użycia w skryptach.
docker ps -q
Przykład 2: wyświetlanie kontenerów uruchomionych w ciągu ostatnich 24 godzin
docker ps --filter "since=24h"
Przykład 3: wyświetlanie kontenerów z określonym statusem i formatowanie wyjścia
Ten przykład wyświetli tabelę z nazwami kontenerów, ich statusem i przekierowanymi portami dla wszystkich uruchomionych kontenerów.
docker ps -f "status=running" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
3.4 Praktyczne scenariusze
1. Monitorowanie działających kontenerów
Kiedy masz uruchomionych kilka kontenerów, polecenie docker ps pozwala Ci szybko sprawdzić ich aktualny stan i upewnić się, że wszystko działa poprawnie.
docker ps
2. Szukanie i usuwanie zatrzymanych kontenerów
Po zakończeniu działania kontenery pozostają w systemie, dopóki ich nie usuniesz. Możesz użyć docker ps -a, aby znaleźć wszystkie zatrzymane kontenery, a następnie je usunąć.
docker ps -a -f "status=exited"
docker rm $(docker ps -a -f "status=exited" -q)
3. Automatyzacja zadań
Używanie polecenia docker ps w skryptach pozwala zautomatyzować różne zadania administracyjne dotyczące kontenerów. Na przykład możesz tworzyć raporty o stanie kontenerów lub automatycznie ponownie uruchamiać kontenery, jeśli zostały zatrzymane.
if [ $(docker ps -q -f "name=my_container") ]; then
echo "Kontener działa"
else
docker start my_container
fi
Ważne! Ten "kod" został napisany w terminalu Linux. Możliwe, że będziesz musiał się nim trochę zainteresować.
GO TO FULL VERSION