ปิดใช้งานการบันทึกสำหรับคอนเทนเนอร์เดียวใน Docker-Compose


93

ฉันมีเว็บแอปพลิเคชันที่เปิดตัวโดยใช้ Docker compose ที่ฉันต้องการปิดใช้งานการบันทึกทั้งหมดสำหรับ (หรืออย่างน้อยที่สุดก็พิมพ์ออกไปยัง syslog แทนไฟล์)

เมื่อเว็บแอปพลิเคชันของฉันทำงานได้อย่างรวดเร็วสามารถสร้างไฟล์บันทึก 11GB เมื่อเริ่มต้นระบบดังนั้นสิ่งนี้จึงกินเนื้อที่ดิสก์ของฉันอย่างรวดเร็ว

ฉันทราบว่านักเทียบท่าปกติมีตัวเลือกการบันทึกสำหรับคำสั่งรัน แต่ฉันใช้ใน Docker Compose

Docker-compose ขึ้น

ในโฟลเดอร์แอปพลิเคชันเพื่อเริ่มแอปพลิเคชันของฉัน ฉันจะเปิดใช้งานฟังก์ชันนี้ในกรณีของฉันได้อย่างไร ฉันไม่เห็นกรณีเฉพาะใด ๆ ทางออนไลน์

คำตอบ:


173

คุณควรจะใช้คุณสมบัติการบันทึกได้ พยายามตั้งค่าไดรเวอร์เป็น "ไม่มี"

logging:
    driver: none

2
ลิงก์ไปยังเอกสารเป็นที่นิยม แต่คุณช่วยอธิบายได้ไหมว่าควรใช้ตัวเลือกนั้นอย่างไรเพื่อให้คอนเทนเนอร์ไม่เขียนบันทึก ฉันกำลังตั้งค่าไดรเวอร์เป็นnoneแต่คอนเทนเนอร์ postgres ของฉันยังคงเขียนกองอึเป็น stdout ในขณะที่การทดสอบกำลังดำเนินอยู่ น่ารำคาญมาก.
Cam Jackson

1
ฉันอัปเดตลิงค์ หวังว่าตอนนี้น่าจะมีข้อมูลทั้งหมดแล้วนะ
Fuxi

26

สำหรับตัวอย่างการกำหนดค่าอย่างรวดเร็วเช่น

version: '3'
services:
    'postgres':
        image: postgres:9.6
        logging:
            driver: none 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.