การจัดการข้อมูลด้วยวอลุ่ม Docker
ทำความเข้าใจว่าเหตุใดคอนเทนเนอร์จึงสูญเสียข้อมูลเมื่อถูกลบ และเรียนรู้วิธีเก็บข้อมูลให้คงอยู่และแบ่งปันข้อมูลด้วยวอลุ่ม Docker และการเมานต์แบบผูก
การจัดการข้อมูลด้วยวอลุ่ม Docker เป็นบทเรียน Docker & DevOps Fundamentals ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Docker & DevOps Fundamentals และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Docker & DevOps Fundamentals มีบทเรียนทั้งหมด 4 บทเรียน
คอนเทนเนอร์มีอายุการใช้งานชั่วคราว
คอนเทนเนอร์มีลักษณะเป็น ชั่วคราว: ทุกสิ่งที่เขียนลงไปจะอยู่ภายในคอนเทนเนอร์ และเมื่อคอนเทนเนอร์ถูกลบ ข้อมูลก็จะหายไป เหมาะสำหรับแอปที่ไม่มีสถานะ แต่ฐานข้อมูลจำเป็นต้องเก็บข้อมูลไว้ให้คงอยู่
ชั้นที่เขียนได้
คอนเทนเนอร์แต่ละตัวมี ชั้นที่เขียนได้ บาง ๆ อยู่ด้านบนอิมเมจ การเขียนจะเกิดขึ้นในชั้นนี้ แต่ชั้นดังกล่าวผูกอยู่กับอายุการใช้งานของคอนเทนเนอร์ — เมื่อลบคอนเทนเนอร์ ชั้นนี้ก็จะหายไป
สองวิธีในการคงข้อมูลไว้
Docker มีสองวิธีในการคงข้อมูลไว้ ได้แก่ โวลุม (จัดการโดย Docker) และ การเมานต์แบบ bind (แมปโฟลเดอร์ของเครื่องโฮสต์เข้ามา) โดยทั่วไปแนะนำให้ใช้โวลุมเป็นค่าเริ่มต้น
การสร้างโวลุม
สร้าง โวลุม แบบระบุชื่อด้วยคำสั่งเดียวคือ docker volume create โดย Docker จะกำหนดตำแหน่งจัดเก็บจริงให้ คุณจึงไม่ต้องจัดการเอง
docker volume create app-dataการเมานต์โวลุม
แนบโวลุมด้วย -v โดยใช้ volumeName:/path/in/container จากนั้นทุกสิ่งที่เขียนไปยังเส้นทางดังกล่าวจะคงอยู่ในโวลุม
docker run -d -v app-data:/var/lib/data myimageข้อมูลยังคงอยู่แม้ลบคอนเทนเนอร์
เนื่องจากโวลุม เป็นอิสระจากคอนเทนเนอร์ คุณจึงสามารถลบคอนเทนเนอร์ สร้างคอนเทนเนอร์ใหม่โดยใช้โวลุมเดิม และข้อมูลของคุณจะยังคงอยู่
docker rm -f mycontainer
docker run -d -v app-data:/var/lib/data myimageการเมานต์แบบ bind สำหรับการพัฒนาในเครื่อง
การเมานต์แบบ bind จะแมปไดเรกทอรีของเครื่องโฮสต์เข้ามาในคอนเทนเนอร์ — เหมาะอย่างยิ่งสำหรับการพัฒนา เพราะการแก้ไขโค้ดบนเครื่องของคุณจะแสดงภายในคอนเทนเนอร์ทันที
docker run -v /Users/me/project:/app node:20โวลุมกับการเมานต์แบบ bind
เลือกใช้ตามงาน: โวลุม เหมาะกับข้อมูลในสภาพแวดล้อมจริงที่พกพาได้และจัดการโดย Docker ส่วน การเมานต์แบบ bind เหมาะกับการพัฒนาเมื่อต้องการใช้เส้นทางบนโฮสต์ที่ระบุแน่นอนและควบคุมได้อย่างเต็มที่
การตรวจสอบโวลุม
docker volume ls จะแสดงรายการโวลุมของคุณ และ docker volume inspect จะแสดงรายละเอียด รวมถึงตำแหน่งที่ข้อมูลถูกจัดเก็บจริงบนดิสก์
docker volume ls
docker volume inspect app-dataการแชร์ข้อมูลระหว่างคอนเทนเนอร์
เมานต์โวลุมหนึ่งรายการเข้ากับคอนเทนเนอร์หลายตัว แล้วคอนเทนเนอร์เหล่านั้นจะ แชร์ไฟล์ร่วมกัน ได้ เช่น คอนเทนเนอร์แอปและคอนเทนเนอร์สำรองข้อมูลอ่านข้อมูลชุดเดียวกัน
docker run -v shared:/data writer
docker run -v shared:/data readerการล้างข้อมูล
โวลุมที่ไม่ได้ใช้ทำให้เสียพื้นที่ดิสก์ คุณสามารถลบรายการหนึ่งด้วย docker volume rm หรือลบโวลุมที่ไม่มีการอ้างอิงทั้งหมดด้วย docker volume prune — โปรดใช้ความระมัดระวัง เนื่องจากข้อมูลจะถูกลบอย่างถาวร
docker volume rm app-data
docker volume pruneตรวจสอบอย่างรวดเร็ว
ทดสอบความเข้าใจเกี่ยวกับข้อมูลใน Docker
สรุป
คุณได้เรียนรู้วิธีคงข้อมูลไว้: คอนเทนเนอร์มีอายุการใช้งานชั่วคราว โวลุม ยังคงอยู่แม้ลบคอนเทนเนอร์ และเมานต์ด้วย -v name:/path ส่วน การเมานต์แบบ bind เหมาะกับการพัฒนา
คำถามที่พบบ่อย
บทเรียน “การจัดการข้อมูลด้วยวอลุ่ม Docker” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การจัดการข้อมูลด้วยวอลุ่ม Docker” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Docker & DevOps Fundamentals ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Docker & DevOps Fundamentals มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การจัดการข้อมูลด้วยวอลุ่ม Docker”
ทำความเข้าใจว่าเหตุใดคอนเทนเนอร์จึงสูญเสียข้อมูลเมื่อถูกลบ และเรียนรู้วิธีเก็บข้อมูลให้คงอยู่และแบ่งปันข้อมูลด้วยวอลุ่ม Docker และการเมานต์แบบผูก คุณปฏิบัติ Docker & DevOps Fundamentals ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Docker & DevOps Fundamentals หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Docker & DevOps Fundamentals บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การจัดการข้อมูลด้วยวอลุ่ม Docker” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Docker & DevOps Fundamentals นี้ได้ไหม
ได้ บทเรียน Docker & DevOps Fundamentals ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- คอนเทนเนอร์คืออะไร
- การติดตั้ง Docker Desktop
- คอนเทนเนอร์ Docker แรกของคุณ
- การจัดการข้อมูลด้วยวอลุ่ม Docker