0Pricing
DevOps Bootcamp · บทเรียน

การจัดการข้อมูลด้วยวอลุ่ม Docker

ทำความเข้าใจว่าเหตุใดคอนเทนเนอร์จึงสูญเสียข้อมูลเมื่อถูกลบ และเรียนรู้วิธีเก็บข้อมูลให้คงอยู่และแบ่งปันข้อมูลด้วยวอลุ่ม Docker และการเมานต์แบบผูก

การจัดการข้อมูลด้วยวอลุ่ม Docker เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 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) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การจัดการข้อมูลด้วยวอลุ่ม Docker”

ทำความเข้าใจว่าเหตุใดคอนเทนเนอร์จึงสูญเสียข้อมูลเมื่อถูกลบ และเรียนรู้วิธีเก็บข้อมูลให้คงอยู่และแบ่งปันข้อมูลด้วยวอลุ่ม Docker และการเมานต์แบบผูก คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “การจัดการข้อมูลด้วยวอลุ่ม Docker” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม

ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. คอนเทนเนอร์คืออะไร
  2. การติดตั้ง Docker Desktop
  3. คอนเทนเนอร์ Docker แรกของคุณ
  4. การจัดการข้อมูลด้วยวอลุ่ม Docker
← กลับไปที่ DevOps Bootcamp