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.
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.
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.
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.
docker logs --since "2023-07-20T15:00:00" my_container
Və ya
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.
docker logs --until "2023-07-20T16:00:00" my_container
Və ya
docker logs --until 10m my_container
5. stdout
və stderr
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
və --stderr
parametrlərindən istifadə edərək göstərə bilərsiniz.
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.
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.
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.
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.
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.
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
və --until
parametrlərindən istifadə edə bilərsiniz.
docker logs --since "2023-07-20T00:00:00" --until "2023-07-20T23:59:59" my_app_container
GO TO FULL VERSION