6.1 Główne funkcje polecenia docker logs
Logowanie kontenerów to ważna część zarządzania i monitorowania aplikacji Docker. Logi pozwalają śledzić zachowanie kontenerów, diagnozować problemy i rozumieć, jak działają aplikacje wewnątrz kontenerów. W tym wykładzie szczegółowo przeanalizujemy, jak używać polecenia docker logs
do logowania kontenerów.
Główne funkcje polecenia docker logs
Polecenie docker logs
używane jest do wyciągania i przeglądania logów kontenerów. Pozwala na:
- Przeglądanie standardowego wyjścia (stdout) i standardowego wyjścia błędów (stderr) kontenera.
- Filtrowanie i śledzenie logów w czasie rzeczywistym.
- Wyszukiwanie i analizowanie logów w celu diagnozowania problemów.
6.2 Korzystanie z komendy docker logs
1. Podgląd logów kontenera
Aby zobaczyć logi kontenera, użyj komendy:
docker logs <container_id_or_name>
Przykład:
docker logs my_container
Ta komenda wyświetli wszystkie logi kontenera my_container
.
2. Śledzenie logów w czasie rzeczywistym
Aby śledzić logi w czasie rzeczywistym, użyj flagi -f
(lub --follow
):
docker logs -f <container_id_or_name>
Przykład:
docker logs -f my_container
Ta komenda wyświetli nowe logi w miarę ich pojawiania się.
3. Ograniczenie liczby wyświetlanych linii
Aby ograniczyć liczbę linii wyświetlanych przez komendę docker logs
, użyj flagi --tail
:
docker logs --tail <number_of_lines> <container_id_or_name>
Przykład:
docker logs --tail 10 my_container
Ta komenda wyświetli ostatnie 10 linii logów kontenera my_container
.
4. Wyświetlanie logów zaczynających się od określonego czasu
Aby wyświetlić logi zaczynające się od określonego czasu, użyj flagi --since
:
docker logs --since <timestamp> <container_id_or_name>
Przykład:
docker logs --since 2022-01-01T00:00:00 my_container
Ta komenda wyświetli logi kontenera my_container
, zaczynając od 1 stycznia 2022 roku.
5. Wyświetlanie logów do określonego czasu
Aby wyświetlić logi do określonego czasu, użyj flagi --until
:
docker logs --until <timestamp> <container_id_or_name>
Przykład:
docker logs --until 2022-01-02T00:00:00 my_container
Ta komenda wyświetli logi kontenera my_container
do 2 stycznia 2022 roku.
6.3 Przykłady użycia docker logs
Przykład 1: Diagnostyka błędu aplikacji
Jeśli Twoja aplikacja wewnątrz kontenera niespodziewanie zakończyła działanie z błędem, możesz użyć docker logs
, aby zdiagnozować przyczynę:
docker logs my_app_container
Przeglądanie logów może pomóc Ci zrozumieć, co poszło nie tak i dlaczego aplikacja zakończyła działanie z błędem.
Przykład 2: Monitorowanie działania serwisu
Aby monitorować działanie serwisu web w czasie rzeczywistym, użyj flagi -f
:
docker logs -f web_service_container
Ta komenda pozwoli Ci zobaczyć wszystkie nowe logi, które pojawiają się w serwisie web.
Przykład 3: Analiza logów z określonego okresu
Jeśli potrzebujesz przeanalizować logi z określonego okresu, użyj flag --since
i --until
:
docker logs --since "2023-07-01" --until "2023-07-02" my_app_container
Ta komenda wyświetli logi kontenera my_app_container
z dnia 1 lipca 2023 roku.
6.4 Konfiguracja driverów logowania Docker
Docker wspiera różne drivery logowania, które można skonfigurować dla kontenerów. Główne drivery logowania to:
-
json-file
: Domyślnie. Logi są zapisywane do plików w formacie JSON. syslog
: Logi są wysyłane do systemowego dziennika (syslog).journald
: Logi są wysyłane do systemu journald.-
gelf
: Logi są wysyłane do serwerów obsługujących protokół GELF (Graylog Extended Log Format). fluentd
: Logi są wysyłane do serwera Fluentd.
Instalacja drivera logowania
Aby zainstalować driver logowania, użyj flagi --log-driver
przy uruchamianiu kontenera:
docker run --log-driver <driver_name> <container_image>
Przykład:
docker run --log-driver syslog my_app_image
Ten przykład uruchamia kontener z użyciem drivera logowania syslog.
Konfiguracja parametrów logowania
Możesz podać parametry logowania przy pomocy flagi --log-opt
:
docker run --log-driver syslog --log-opt syslog-address=udp://localhost:514 my_app_image
GO TO FULL VERSION