6.1 docker logs
komandasının əsas funksiyaları
Konteynerlərin loglanması — Docker tətbiqlərinin idarə olunması və monitorinqi üçün vacib hissədir. Loglar konteynerlərin davranışını izləməyə, problemləri diaqnostika etməyə və tətbiqlərin konteynerlərin içərisində necə işlədiyini başa düşməyə imkan verir. Bu mühazirədə biz konteynerlərin loglanması üçün docker logs
komandasından necə istifadə etməyi ətraflı nəzərdən keçirəcəyik.
docker logs
komandasının əsas funksiyaları
docker logs
komandası konteynerlərin loglarını əldə etmək və görüntüləmək üçün istifadə olunur. Bu komanda aşağıdakıları icra etməyə imkan verir:
- Konteynerin standart çıxışını (stdout) və səhvlər üçün standart çıxışı (stderr) izləmək.
- Logları real vaxt rejimində filtrasiya etmək və izləmək.
- Problemlərin diaqnostikası üçün loglara baxmaq və onları analiz etmək.
7.2 docker logs komandası ilə iş
1. Konteyner loglarına baxış
Konteyner loglarına baxmaq üçün bu komandadan istifadə edin:
docker logs <container_id_or_name>
Nümunə:
docker logs my_container
Bu komanda my_container
konteynerinin bütün loglarını çıxaracaq.
2. Logların real vaxt rejimində izlənilməsi
Logları real vaxt rejimində izləmək üçün -f
(və ya --follow
) flagından istifadə edin:
docker logs -f <container_id_or_name>
Nümunə:
docker logs -f my_container
Bu komanda logların görünən kimi yenilənməsini təmin edir.
3. Çıxarılan sətrlərin sayının məhdudlaşdırılması
docker logs
komandası ilə çıxarılan sətrlərin sayını məhdudlaşdırmaq üçün --tail
flagından istifadə edin:
docker logs --tail <number_of_lines< <container_id_or_name<
Nümunə:
docker logs --tail 10 my_container
Bu komanda my_container
konteynerinin son 10 sətrini çıxaracaq.
my_container
Logların müəyyən bir vaxtdan başlayaraq çıxarılması üçün --since
flagından istifadə edin:
docker logs --since <timestamp> <container_id_or_name>
Nümunə:
docker logs --since 2022-01-01T00:00:00 my_container
Bu komanda my_container
konteynerinin 1 yanvar 2022 tarixindən etibarən loglarını çıxaracaq.
Logların müəyyən vaxta qədər çıxarılması
Logların müəyyən vaxta qədər çıxarılması üçün --until
flagından istifadə edin:
docker logs --until <timestamp> <container_id_or_name>
Nümunə:
docker logs --until 2022-01-02T00:00:00 my_container
Bu komanda my_container
konteynerinin 2 yanvar 2022 tarixindən əvvəlki loglarını çıxaracaq.
7.3 docker logs
istifadə nümunələri
Nümunə 1: Tətbiq səhvini diaqnoz etmək
Əgər tətbiqiniz konteyner daxilində gözlənilməz şəkildə səhvlə sona çatıbsa, docker logs
istifadə edərək səbəbini diaqnoz edə bilərsiniz:
docker logs my_app_container
Loglara baxış sizə nə baş verdiyini və nə üçün tətbiqin səhvlə sona çatdığını başa düşməkdə kömək edə bilər.
Nümunə 2: Servisin işini izləmək
Veb-servisin işini real vaxt rejimində izləmək üçün -f
bayrağını istifadə edin:
docker logs -f web_service_container
Bu komanda veb-servisə gələn bütün yeni logları görməyə imkan verəcək.
Nümunə 3: Müəyyən dövr üçün logları analiz etmək
Əgər müəyyən bir dövr üçün logları analiz etmək lazımdırsa, --since
və --until
bayraqlarını istifadə edin:
docker logs --since "2023-07-01" --until "2023-07-02" my_app_container
Bu komanda 1 iyul 2023-cü il tarixindəki my_app_container
konteynerinin loglarını göstərəcək.
7.4 Docker loqlama driverlərinin konfiqurasiyası
Docker müxtəlif loqlama driverlərini dəstəkləyir, hansı ki bunu kontainerlər üçün quraşdırmaq olar. Əsas loqlama driverlərinə daxildir:
-
json-file
: Default olaraq fəaliyyət göstərir. Loqlar JSON formatında fayllara yadda saxlanılır. syslog
: Loqlar sistem jurnalına (syslog) göndərilir.journald
: Loqlar journald sisteminə göndərilir.-
gelf
: Loqlar GELF (Graylog Extended Log Format) protokolunu dəstəkləyən serverlərə göndərilir. fluentd
: Loqlar Fluentd serverinə göndərilir.
Loqlama driverinin quraşdırılması
Loqlama driverini quraşdırmaq üçün --log-driver
flag-ından istifadə edin kontainerin işə salınması zamanı:
docker run --log-driver <driver_name> <container_image>
Nümunə:
docker run --log-driver syslog my_app_image
Bu nümunədə kontainer syslog loqlama driveri istifadə edilərək işə salınır.
Loqlama parametrlərinin konfiqurasiyası
Loqlama parametrlərini --log-opt
flag-ı ilə göstərə bilərsiniz:
docker run --log-driver syslog --log-opt syslog-address=udp://localhost:514 my_app_image
GO TO FULL VERSION