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