CodeGym /Kursy /Docker SELF /Praca z logami kontenerów

Praca z logami kontenerów

Docker SELF
Poziom 11 , Lekcja 3
Dostępny

4.1 Podstawy komendy docker logs

Komenda docker logs — przydatne narzędzie do monitorowania i debugowania kontenerów. Dzięki niej developerzy i administratorzy systemów mogą przeglądać logi kontenerów, co pomaga w diagnozie problemów i analizie działania aplikacji. W tym wykładzie szczegółowo omówimy, jak korzystać z komendy docker logs, jakie parametry są dostępne i jak efektywnie zarządzać logami.

Komenda docker logs wyświetla logi określonego kontenera. Logi te zawierają wszystkie wiadomości zapisane przez procesy wewnątrz kontenera na standardowe strumienie wyjścia (stdout) i błędów (stderr).

Składnia


docker logs [OPTIONS] CONTAINER

Gdzie:

  • CONTAINER: nazwa lub identyfikator kontenera, którego logi chcesz zobaczyć.
  • OPTIONS: dodatkowe parametry do konfiguracji wyjścia logów.

Przykład podstawowego użycia

Ta komenda wyświetli wszystkie zgromadzone logi kontenera my_container.

Terminal


docker logs my_container

4.2 Parametry komendy docker logs

Komenda docker logs obsługuje kilka opcji, które pozwalają dostosować wyświetlanie logów do konkretnych potrzeb.

1. Podgląd logów w czasie rzeczywistym

Do podglądu logów w czasie rzeczywistym używa się parametru -f (follow). Ten parametr pozwala śledzić aktualizacje logów w miarę ich pojawiania, podobnie jak komenda tail -f.

Terminal


docker logs -f my_container 

2. Ograniczenie liczby wyświetlanych linii

Możesz ograniczyć liczbę linii wyświetlanych przez komendę docker logs za pomocą parametru --tail. To przydaje się, jeśli potrzebujesz tylko ostatnich linii logów, a nie całego dziennika.

Terminal


docker logs --tail 100 my_container 

Ten przykład wyświetli tylko ostatnie 100 linii logów kontenera my_container.

3. Wyświetlanie logów od określonego czasu

Parametr --since pozwala wyświetlać logi zaczynając od wskazanego czasu. Czas można podać w formacie znacznika czasowego (np. 2023-07-20T15:00:00) lub formacie relatywnym (np. 1h dla logów z ostatniej godziny).

Terminal


docker logs --since "2023-07-20T15:00:00" my_container 

Lub

Terminal


docker logs --since 1h my_container 

4. Wyświetlanie logów do określonego czasu

Parametr --until pozwala wyświetlać logi do wskazanego czasu. Format czasu jest taki sam jak dla parametru --since.

Terminal


docker logs --until "2023-07-20T16:00:00" my_container 

Lub

Terminal


docker logs --until 10m my_container 

5. Łączenie stdout i stderr

Domyślnie komenda docker logs wyświetla zarówno standardowy strumień wyjściowy (stdout), jak i standardowy strumień błędów (stderr). Możesz określić, które strumienie wyświetlić, używając parametrów --stdout i --stderr.

Terminal


docker logs --stdout my_container 

Ten przykład wyświetli tylko komunikaty ze standardowego strumienia wyjściowego.

4.3 Przykłady użycia

Przykład 1: podgląd ostatnich linii logów i śledzenie aktualizacji

Ten przykład wypisze ostatnie 50 linii logów kontenera my_container i będzie śledził nowe wpisy w czasie rzeczywistym.

Terminal


docker logs -f --tail 50 my_container 

Przykład 2: wyświetlanie logów z ostatnich 24 godzin

Ten przykład wypisze wszystkie logi, które zostały zgromadzone w ciągu ostatnich 24 godzin dla kontenera my_container.

Terminal


docker logs --since 24h my_container 

Przykład 3: wyświetlanie logów z określonego przedziału czasowego

Ten przykład wypisze logi zarejestrowane w okresie od 15:00 do 16:00 dnia 20 lipca 2023 roku dla kontenera my_container.

Terminal


docker logs --since "2023-07-20T15:00:00" --until "2023-07-20T16:00:00" my_container 

4.4 Praktyczne scenariusze

1. Debugowanie aplikacji

Jeśli Twoja aplikacja działa niepoprawnie albo "crashuje", przeglądanie logów może pomóc w diagnozowaniu problemu. Użyj polecenia docker logs, aby znaleźć błędy i ostrzeżenia w logach.

Terminal


docker logs my_app_container 

2. Monitorowanie pracy serwera

Do monitorowania pracy serwera w czasie rzeczywistym możesz użyć polecenia docker logs z opcją -f.

Terminal


docker logs -f web_server_container 

To pozwala śledzić żądania i odpowiedzi serwera w czasie rzeczywistym.

3. Analiza wydajności

Jeśli chcesz przeanalizować wydajność aplikacji w określonym przedziale czasowym, użyj parametrów --since i --until.

Terminal

        
docker logs --since "2023-07-20T00:00:00" --until "2023-07-20T23:59:59" my_app_container 
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION