Docker Logs – Konteynerlarınızın Loglarını İnceleme

Docker
Everything but everything about Docker

Bir çok konteyner sistem kayıtları ve hatalarının çıktılarını oluşturur standart bir dosyaya yazmak yerine /dev/stdout ve /dev/stderr noktaları olarak,bu sayede “docker logs” komutu ile bu sistem kayıtlarını okuyabilirsiniz.

Bu loglara erişmek için komut işte şu şekilde :

$ docker logs [KONTEYNER_ID]

Bu konteynerların ID lerini nasıl bulacağız diyorsanız onun komutu şöyle :

$ docker ps

Peki bir şekilde bir debug yapıyor olabilirsiniz yani anlık logları aktif olarak görmek isteyebilirsiniz , bunun bir yolu var mı derseniz , işte onunda komutu bu :

$ docker logs --follow [KONTEYNER_ID]

ya da

$ docker logs -f [KONTEYNER_ID]

Default olarak yani standartta docker logs komutu size konteynerin çalışmaya başladığı andan itibaren var olan tüm kayıtları/logları gösterecektir. Uzun süredir aktif bir konteyner üzerinde çalışıyorsanız bu çok fazla satır demek. Bu kadar kayıtlar ilgilenmiyorsanıza ve sürekliyukarı aşşağı gidip gelmek istemiyorsanız, -ki -f komutu her satır yenilemesinde sizi en alta atacaktır; sizin ilgilendiğiniz son 100 satırı görmek isteyebilirsiniz. İşte bunu yapabilmek için ihtiyacınız olan komut ise şudur :

$ docker logs --follow --tail 100 [KONTEYNER_ID]

ya da

$ docker logs -f --tail 100 [KONTEYNER_ID]


peki son satırı takip etmek istiyorsanız o zaman 100 yerine 0 yazmanız kafi. Bu arada bende alışkanlıktan kullanmıyorum ama yukarıdaki komutun daha da kısa hali şöyle :

$ docker logs -f -n 100 [KONTEYNER_ID]

Dikkat ettiyseniz –tail yerine -n kullandım.

Son bir hatırlatma /dev/stdout ve /dev/stderr ları grep komutu ile filtreleyemezsiniz. Bunu yapabilmenin tek yolu komutu bir dosyaya yazmanız. 100 satırlık bir kayıtları dosyaya atmak için komut şöyle olmalı :

$ docker logs --tail 100 [KONTEYNER_ID] 2> ~/dosyaadi.log

Logun yani kaydın dosyaya yazması için 2 rakamını kullanmalısınız aksi halde ekrana basacaktır. Yani dosyanız oluşsa da içine veriyi atmayacaktır.

İyi hata ayıklamalar…

About the Author

Melih Melik SÖNMEZ
1976'da İstanbul'da doğdum.