หลังจากอ่านเอกสารฉันพบว่าตัวเองค่อนข้างสับสนว่าวิธีที่ดีที่สุดในการจัดการข้อมูลแอปพลิเคชัน / บริการที่มีประสิทธิผล
ดูเหมือนจะมี 3 ตัวเลือก:
- เพียงแม็พปริมาณไปยังไดเรกทอรีโฮสต์ (เช่น
-v
อาร์กิวเมนต์สำหรับdocker run
) - สร้างอิมเมจคอนเทนเนอร์ของนักเทียบท่าสำหรับข้อมูล (เช่นคอนเทนเนอร์ที่แยกต่างหากและ
--volumes-from
) - การสร้างปริมาณนักเทียบท่า (เช่น
docker volume create
)
ตอนนี้ดูเหมือนว่าการปฏิบัติที่ยอมรับคือตัวเลือก # 2 แต่ฉันสงสัยว่าอะไรคือจุดประสงค์ของ # 3
โดยเฉพาะอย่างยิ่งคุณจัดการกับสถานการณ์เหล่านี้อย่างถูกต้องอย่างไรdocker volume
และจะดีกว่าถ้าใช้ data container container หรือสิ่งนี้สำหรับแต่ละสถานการณ์?
- คุณต้องการข้อมูลแอปพลิเคชันในระดับเสียงแยกและ / หรือระดับการจัดเก็บในเซิร์ฟเวอร์ของคุณ
- สำรอง
- กำลังกู้คืนข้อมูล
btrfs scrub
เพื่อค้นหาและแก้ไขไฟล์ที่เสียหาย ฉันไม่แน่ใจว่าสิ่งที่เก็บข้อมูลทำงานอย่างไร แต่ฉันคิดว่ามันไม่ได้ป้องกันการเน่าของข้อมูลดังนั้นฉันจึงจำเป็นต้องมีการคืนค่าอย่างเต็มรูปแบบเสมอหากมีสิ่งไม่ดีเกิดขึ้นแทนที่จะกู้คืนไฟล์แต่ละไฟล์ อีกคนคิดว่ามันเพิ่มสิ่งที่เป็นนามธรรมอีกชั้นหนึ่งดังนั้นจึงทำให้การอ่านและเขียนไฟล์ช้าลงมากขึ้น ฉันไม่เห็นข้อดีของ # 2 และ # 3 แต่ฉันไม่ได้พบกับนักเทียบท่าดังนั้นสิ่งนี้อาจเปลี่ยนแปลงได้