Docker - การบันทึก

นักเทียบท่ามีกลไกการบันทึกซึ่งสามารถใช้ในการดีบักปัญหาเมื่อเกิดขึ้น มีการบันทึกที่daemon level และที่ container level. มาดูการบันทึกระดับต่างๆกัน

การบันทึก Daemon

ในระดับการบันทึก daemon มีการบันทึกสี่ระดับที่พร้อมใช้งาน -

  • Debug - รายละเอียดข้อมูลที่เป็นไปได้ทั้งหมดที่จัดการโดยกระบวนการภูต

  • Info - แสดงรายละเอียดข้อผิดพลาดทั้งหมด + ข้อมูลที่จัดการโดยกระบวนการ daemon

  • Errors - แสดงรายละเอียดข้อผิดพลาดทั้งหมดที่จัดการโดยกระบวนการ daemon

  • Fatal - เป็นเพียงรายละเอียดข้อผิดพลาดร้ายแรงทั้งหมดที่จัดการโดยกระบวนการ daemon

ทำตามขั้นตอนต่อไปนี้เพื่อเรียนรู้วิธีเปิดใช้งานการบันทึก

Step 1 - ขั้นแรกเราต้องหยุดไฟล์ docker daemon processถ้ามันทำงานอยู่แล้ว สามารถทำได้โดยใช้คำสั่งต่อไปนี้ -

sudo service docker stop

Step 2 - ตอนนี้เราต้องเริ่มไฟล์ docker daemon process. แต่คราวนี้เราต้องต่อท้ายไฟล์–lพารามิเตอร์เพื่อระบุอ็อพชันการบันทึก ลองใช้คำสั่งต่อไปนี้เมื่อเริ่มต้นไฟล์docker daemon process.

sudo dockerd –l debug &

ประเด็นต่อไปนี้ต้องสังเกตเกี่ยวกับคำสั่งดังกล่าว -

  • dockerd เป็นไฟล์ปฏิบัติการสำหรับไฟล์ docker daemon process.

  • –lใช้เพื่อระบุระดับการบันทึก ในกรณีของเราเราจะกำหนดให้เป็น debug

  • & ใช้เพื่อกลับมาที่พรอมต์คำสั่งหลังจากเปิดใช้งานการบันทึก

เมื่อคุณเริ่มกระบวนการ Docker ด้วยการบันทึกตอนนี้คุณจะเห็นไฟล์ Debug Logs ถูกส่งไปยังคอนโซล

ตอนนี้หากคุณรันคำสั่ง Docker เช่น docker imagesข้อมูลการดีบักจะถูกส่งไปยังคอนโซลด้วย

การบันทึกคอนเทนเนอร์

นอกจากนี้ยังมีการบันทึกในระดับคอนเทนเนอร์ ดังนั้นในตัวอย่างของเราเรามาหมุนคอนเทนเนอร์ Ubuntu ก่อน เราสามารถทำได้โดยใช้คำสั่งต่อไปนี้

sudo docker run –it ubuntu /bin/bash

ตอนนี้เราสามารถใช้ไฟล์ docker log command เพื่อดูบันทึกของคอนเทนเนอร์

ไวยากรณ์

Docker logs containerID

พารามิเตอร์

  • containerID - นี่คือรหัสของคอนเทนเนอร์ที่คุณต้องใช้เพื่อดูบันทึก

ตัวอย่าง

บน Docker Host ของเราให้ออกคำสั่งต่อไปนี้ ก่อนหน้านั้นคุณสามารถออกคำสั่งบางคำสั่งขณะอยู่ในคอนเทนเนอร์ได้

sudo docker logs 6bfb1271fcdd

เอาต์พุต

จากผลลัพธ์คุณจะเห็นว่าคำสั่งที่เรียกใช้ในคอนเทนเนอร์แสดงอยู่ในบันทึก