CodeGym /Kurslar /Docker SELF /Kontainerlərin logları ilə işləmək

Kontainerlərin logları ilə işləmək

Docker SELF
Səviyyə , Dərs
Mövcuddur

4.1 docker logs komandasının əsasları

docker logs komandası kontainerləri monitorinq etmək və debug üçün vacib alətdir. Bu, tərtibatçılara və sistem administratorlarına kontainerlərin loglarını görməyə imkan verir, bu da problemlərin diaqnostikası və tətbiqlərin işini analiz etmək üçün kömək edir. Bu mühazirədə biz docker logs komandasını necə istifadə edəcəyimizi, hansı parametrlərin mövcud olduğunu və logları effektiv şəkildə necə idarə edəcəyimizi ətraflı müzakirə edəcəyik.

docker logs komandası göstərilən kontainerin loglarını çıxardır. Bu loglar kontainerin daxilindəki proseslər tərəfindən yazılmış bütün mesajları, standart çıxış axını (stdout) və xətaları (stderr) əhatə edir.

Sintaksis


docker logs [OPTIONS] CONTAINER

Burada:

  • CONTAINER: loglarını görmək istədiyiniz kontainerin adı və ya identifikatoru.
  • OPTIONS: log çıxışının tənzimlənməsi üçün əlavə parametrlər.

Əsas istifadənin nümunəsi

Bu komanda my_container kontainerinin bütün yığılmış loglarını çıxaracaq.

Terminal


docker logs my_container

4.2 docker logs komandası üçün parametrlər

docker logs komandası bir neçə opsiyanı dəstəkləyir ki, bu da logların çıxışını konkret ehtiyaclara uyğun tənzimləməyə imkan verir.

1. Logların real vaxtda baxışı

Logların real vaxtda baxışı üçün -f (follow) parametri istifadə olunur. Bu parametr logların yeniləmələrini onların yaranma anında izləməyə imkan verir, tail -f komandasına bənzər olaraq.

Terminal


docker logs -f my_container 

2. Çıxış edilən sətirlərin sayını məhdudlaşdırmaq

docker logs komandasının çıxış etməli olduğu sətirlərin sayını məhdudlaşdırmaq üçün --tail parametrindən istifadə edə bilərsiniz. Bu, sizə yalnız logların son sətirlərinə ehtiyacınız varsa faydalıdır, bütün jurnalı deyil.

Terminal


docker logs --tail 100 my_container 

Bu nümunə yalnız my_container konteynerinin loglarının son 100 sətirini çıxış edəcək.

3. Müəyyən bir vaxtdan başlayan logları çıxış etmək

--since parametri göstərilən vaxtdan başlayan logları çıxış etməyə imkan verir. Vaxt zaman möhürü formatında (məsələn, 2023-07-20T15:00:00) və ya nisbi formatda (məsələn, son bir saat üçün 1h) göstərilə bilər.

Terminal


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

Və ya

Terminal


docker logs  1h my_container 

4. Müəyyən bir vaxta qədər olan logları çıxış etmək

--until parametri göstərilən vaxta qədər olan logları çıxış etməyə imkan verir. Vaxt formatı --since parametri ilə oxşardır.

Terminal


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

Və ya

Terminal


docker logs --until 10m my_container 

5. stdoutstderr birləşdirilməsi

Varsayılan olaraq docker logs komandası həm standart çıxış axınını (stdout), həm də standart xəta axınını (stderr) çıxış edir. Siz hansı axınları çıxış edəcəyini --stdout--stderr parametrlərindən istifadə edərək göstərə bilərsiniz.

Terminal


docker logs --stdout my_container 

Bu nümunə yalnız standart çıxış axınından olan mesajları çıxış edəcək.

4.3 İstifadə nümunələri

Nümunə 1: Logların son sətrlərini göstərmək və yeniləmələri izləmək

Bu nümunə my_container container-inin son 50 sətr logunu göstərəcək və real vaxtda yeni yazıları izləyəcək.

Terminal


docker logs -f --tail 50 my_container 

Nümunə 2: Son 24 saat ərzində logların göstərilməsi

Bu nümunə my_container üçün son 24 saat ərzində toplanmış bütün logları göstərəcək.

Terminal


docker logs --since 24h my_container 

Nümunə 3: Müəyyən bir zaman intervalına görə logların göstərilməsi

Bu nümunə my_container üçün 20 iyul 2023-cü il saat 15:00-dan 16:00-a qədər yazılmış logları göstərəcək.

Terminal


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

4.4 Praktiki ssenarilər

1. Tətbiqin debugging

Əgər tətbiqiniz düzgün işləmir və ya crash edirsə, loglara baxmaq problemi diaqnostika etməkdə kömək edə bilər. Loglardakı səhvlər və xəbərdarlıqları tapmaq üçün docker logs komandası istifadə edin.

Terminal


docker logs my_app_container 

2. Serverin işləməsinə nəzarət

Realtime olaraq serverin işləməsini izləmək üçün docker logs komandasını -f opsiyası ilə istifadə edə bilərsiniz.

Terminal


docker logs -f web_server_container 

Bu sizə serverin request və response-larını realtime olaraq izləməyə imkan verəcək.

3. Performans analizi

Əgər tətbiqinizin müəyyən bir zaman aralığında performansını analiz etmək istəyirsinizsə, --since--until parametrlərindən istifadə edə bilərsiniz.

Terminal

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