Docker Volume เพื่อการคงอยู่ของข้อมูล
ใช้งาน Docker volume เพื่อจัดเก็บและจัดการข้อมูลถาวรสำหรับแอปพลิเคชันในคอนเทนเนอร์
Docker Volume เพื่อการคงอยู่ของข้อมูล เป็นบทเรียน Docker & DevOps Fundamentals ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Docker & DevOps Fundamentals และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Docker & DevOps Fundamentals มีบทเรียนทั้งหมด 4 บทเรียน
เหตุใดจึงต้องมีข้อมูลถาวร
คอนเทนเนอร์ได้รับการออกแบบให้มีขนาดเล็กและใช้งานชั่วคราว เมื่อคอนเทนเนอร์ถูกลบ ข้อมูลใด ๆ ที่เก็บอยู่ในเลเยอร์ที่เขียนได้ของคอนเทนเนอร์จะสูญหายไปตลอดกาล
แต่หากแอปพลิเคชันของคุณจำเป็นต้องบันทึกข้อมูลสำคัญ เช่น ฐานข้อมูลหรือไฟล์ของผู้ใช้ล่ะ นี่คือบทบาทของการคงอยู่ของข้อมูล

ทำความรู้จัก Docker Volumes
Docker Volumesเป็นวิธีที่ดีที่สุดในการจัดเก็บข้อมูลแอปพลิเคชันแบบถาวรในด็อกเกอร์ ต่างจากข้อมูลที่จัดเก็บไว้โดยตรงในคอนเทนเนอร์ โวลุมจะได้รับการจัดการโดยด็อกเกอร์และมีอยู่แยกจากคอนเทนเนอร์ใด ๆ โดยเฉพาะ
- โวลุมจะถูกจัดเก็บไว้ในส่วนหนึ่งของระบบไฟล์โฮสต์ที่ด็อกเกอร์เป็นผู้จัดการ
- โวลุมได้รับการปรับให้เหมาะกับประสิทธิภาพการรับส่งข้อมูลเข้าออก
- โวลุมสำรองข้อมูลหรือย้ายไปยังระบบอื่นได้ง่าย
สร้างโวลุมแรกของคุณ
มาสร้างโวลุมแบบตั้งชื่อกันครับ โวลุมแบบตั้งชื่อนั้นใช้งานง่าย เพียงกำหนดชื่อให้ แล้ว Docker จะจัดการส่วนที่เหลือให้
ใช้คำสั่ง docker volume create ตามด้วยชื่อโวลุมที่ต้องการ
docker volume create my_data_volumeแสดงรายการโวลุมของคุณ
หลังจากสร้างโวลุมแล้ว คุณสามารถดูโวลุมดังกล่าวในรายการโวลุม Docker ทั้งหมดที่มีอยู่ในระบบของคุณได้
ใช้คำสั่ง docker volume ls เพื่อดูรายการ
docker volume lsใช้โวลุมกับคอนเทนเนอร์
ต่อไปมาลองเรียกใช้คอนเทนเนอร์และเชื่อมต่อโวลุมที่เพิ่งสร้างเข้ากับคอนเทนเนอร์กัน เราจะใช้แฟล็ก -v สำหรับงานนี้
รูปแบบคือ -v volume_name:container_path ซึ่งจะเมานต์ my_data_volume ไปยัง /app/data ภายในคอนเทนเนอร์ nginx
docker run -d --name my_app_with_volume -v my_data_volume:/app/data nginxจัดเก็บข้อมูลในโวลุม
มาลองเขียนข้อมูลลงในโวลุมที่เมานต์ไว้จากภายในคอนเทนเนอร์ที่กำลังทำงานกัน เราจะใช้ docker exec เพื่อเรียกใช้คำสั่งภายในคอนเทนเนอร์
ข้อมูลจะถูกบันทึกไว้ที่ /app/data/message.txt ภายในคอนเทนเนอร์ ซึ่งแท้จริงแล้วจัดเก็บอยู่ใน my_data_volume
docker exec my_app_with_volume sh -c "echo 'Hello from CoddyKit!' > /app/data/message.txt"ข้อมูลยังคงอยู่เมื่อลบคอนเทนเนอร์
ประโยชน์สำคัญของโวลุมคือการคงอยู่ของข้อมูล มาพิสูจน์กันครับ
ขั้นแรก เราจะหยุดและลบคอนเทนเนอร์ จากนั้นจะเรียกใช้คอนเทนเนอร์ *ใหม่* โดยเชื่อมต่อโวลุม *เดิม* เพื่ออ่านข้อมูลที่เราเขียนไว้
docker stop my_app_with_volume
docker rm my_app_with_volume
docker run --rm -it -v my_data_volume:/app/data alpine sh -c "cat /app/data/message.txt"ตรวจสอบรายละเอียดโวลุม
คุณสามารถดูข้อมูลโดยละเอียดของโวลุมได้ด้วยคำสั่ง docker volume inspect ซึ่งจะแสดงชื่อ ไดรเวอร์ และที่สำคัญคือจุดเมานต์บนระบบไฟล์ของเครื่องโฮสต์
docker volume inspect my_data_volumeล้างโวลุมที่ไม่ใช้งาน
โปรดจำไว้ว่าโวลุมทำงานแยกจากคอนเทนเนอร์ หากไม่ต้องการใช้โวลุมอีกต่อไป คุณต้องลบโวลุมโดยเจาะจง
ใช้คำสั่ง docker volume rm โปรดระวัง เนื่องจากคำสั่งนี้จะลบข้อมูลอย่างถาวร
docker volume rm my_data_volumeตรวจสอบความเข้าใจเรื่องโวลุม
ได้เวลาตอบคำถามสั้น ๆ เพื่อทดสอบความเข้าใจเกี่ยวกับโวลุม Docker ของคุณแล้วครับ
โวลุม: หัวใจสำคัญของข้อมูลถาวร
ทำได้ดีมากครับ คุณได้เรียนรู้แล้วว่าโวลุม Docker เป็นโซลูชันที่มีประสิทธิภาพสำหรับการจัดเก็บข้อมูลถาวร
- โวลุมช่วยรักษาข้อมูลของคุณไว้ แม้จะลบคอนเทนเนอร์แล้วก็ตาม
- Docker เป็นผู้จัดการโวลุม จึงให้ประสิทธิภาพและความสามารถในการย้ายไปใช้กับระบบอื่นได้ดียิ่งขึ้น
- คุณสามารถสร้าง แสดงรายการ ตรวจสอบ และลบโวลุมได้ด้วยคำสั่งง่าย ๆ
ถัดไป เราจะเรียนรู้เรื่อง การเมานต์แบบผูก ซึ่งเป็นอีกวิธีหนึ่งในการจัดการข้อมูล แต่เหมาะกับกรณีใช้งานที่แตกต่างกัน
คำถามที่พบบ่อย
บทเรียน “Docker Volume เพื่อการคงอยู่ของข้อมูล” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “Docker Volume เพื่อการคงอยู่ของข้อมูล” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Docker & DevOps Fundamentals ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Docker & DevOps Fundamentals มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “Docker Volume เพื่อการคงอยู่ของข้อมูล”
ใช้งาน Docker volume เพื่อจัดเก็บและจัดการข้อมูลถาวรสำหรับแอปพลิเคชันในคอนเทนเนอร์ คุณปฏิบัติ Docker & DevOps Fundamentals ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Docker & DevOps Fundamentals หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Docker & DevOps Fundamentals บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “Docker Volume เพื่อการคงอยู่ของข้อมูล” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Docker & DevOps Fundamentals นี้ได้ไหม
ได้ บทเรียน Docker & DevOps Fundamentals ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- พื้นฐานเครือข่ายคอนเทนเนอร์
- Docker Volume เพื่อการคงอยู่ของข้อมูล
- Bind Mount และ tmpfs Mount
- เครือข่ายบริดจ์แบบกำหนดเองและการค้นหาบริการ