ลดขนาดไฟล์ log ของ docker
วันนี้เจอเคสหนึ่งหลังจากผมได้ทำการใช้งาน docker-compose กับงานลูกค้า แล้วเนื้อที่ของ HDD ดันเต็ม!!! ผมก็ งง ไปดิเต็มได้ไง สืบไปสืบมาเจอว่า docker มันทำการเขียนไฟล์ .json เป็น log เก็บไว้ใน /var/lib/docker/containers
ซึ่งมันทำให้ไฟล์มันโตไปเรื่อยๆ จนใช้เนื้อที่ไปจนหมด T.T
วิธีแก้ไข
ถ้าใครใช้ docker สร้าง app ขึ้นมาให้เพิ่มแบบนี้เข้าไป
$ docker run --log-opt max-size=10m --log-opt max-file=5 my-app:latest
max-size=10m
เราสามารถกำหนดขนาดที่ต้องการได้ในส่วนนี้
ถ้าใครใช้ docker-compose ให้กำหนดแบบนี้
my-app:
image: my-app:latest
logging:
driver: "json-file"
options:
max-file: 5
max-size: 10m
สงสัยเพิ่มเติมอ่านได้จาก https://docs.docker.com/config/containers/logging/configure/#configure-the-logging-driver-for-a-container