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

การเมานต์แบบผูกคืออะไร
การเมานต์แบบผูก ช่วยให้คุณเมานต์ไฟล์หรือไดเรกทอรีจาก เครื่องโฮสต์ เข้าไปในคอนเทนเนอร์ได้ วิธีนี้จะสร้างการเชื่อมโยงโดยตรง ดังนั้นการเปลี่ยนแปลงที่เกิดขึ้นจากฝั่งใดฝั่งหนึ่งจะปรากฏอีกฝั่งทันที
- เส้นทางบนโฮสต์: ตำแหน่งบนคอมพิวเตอร์ของคุณ
- เส้นทางในคอนเทนเนอร์: ตำแหน่งภายในคอนเทนเนอร์
- เหมาะสำหรับการพัฒนา การแชร์การตั้งค่า หรือการเข้าถึงไฟล์บนโฮสต์
การเมานต์แบบผูกในทางปฏิบัติ
มาดูการเมานต์แบบผูกในทางปฏิบัติกัน คำสั่งนี้จะเมานต์ไดเรกทอรีปัจจุบันของคุณ (แทนด้วย $(pwd) บน Linux/macOS หรือ %cd% บน Windows CMD) เข้าไปในไดเรกทอรี /app ของคอนเทนเนอร์
หมายเหตุ: ก่อนเรียกใช้คำสั่ง ให้สร้างไฟล์ชื่อ hello.txt ในไดเรกทอรีปัจจุบัน พร้อมข้อความ เช่น "Hello from host!"
docker run --rm -it \
-v "$(pwd):/app" \
alpine:latest sh -c "ls /app && cat /app/hello.txt"การเมานต์แบบผูกที่อ่านได้อย่างเดียว
บางครั้งคุณอาจต้องการแชร์ข้อมูลจากโฮสต์ แต่ไม่ต้องการให้คอนเทนเนอร์แก้ไขข้อมูลได้ ในกรณีนี้ การเมานต์แบบผูกที่อ่านได้อย่างเดียว จะมีประโยชน์
คุณสามารถระบุ :ro ต่อท้ายเส้นทางเมานต์ หรือใช้แฟล็ก --mount พร้อมกับ readonly เพื่อกำหนดลักษณะนี้ได้
docker run --rm -it \
-v "$(pwd):/app:ro" \
alpine:latest sh -c "touch /app/new_file.txt || echo 'Permission denied!'"ทำความเข้าใจผลลัพธ์แบบอ่านได้อย่างเดียว
เมื่อคุณเรียกใช้คำสั่งก่อนหน้านี้ คุณควรเห็นข้อความ "Permission denied!" ซึ่งยืนยันว่าคอนเทนเนอร์ไม่สามารถสร้างไฟล์ใหม่ในไดเรกทอรี /app ได้ เนื่องจากไดเรกทอรีนี้ถูกเมานต์แบบอ่านได้อย่างเดียว
นี่เป็นคุณลักษณะด้านความปลอดภัยที่ยอดเยี่ยม ซึ่งช่วยปกป้องไฟล์บนโฮสต์จากการเปลี่ยนแปลงโดยไม่ตั้งใจหรือโดยประสงค์ร้ายจากคอนเทนเนอร์
การเมานต์ tmpfs คืออะไร
การเมานต์ tmpfs คือระบบไฟล์ชั่วคราวที่จัดเก็บทั้งหมดในหน่วยความจำของโฮสต์ (RAM) ซึ่งหมายความว่าข้อมูลที่เขียนลงในการเมานต์ tmpfs จะ ไม่คงอยู่ถาวร
- ข้อมูลจะสูญหายเมื่อคอนเทนเนอร์หยุดทำงาน
- การอ่านและเขียนข้อมูลเร็วกว่าเมื่อเทียบกับการจัดเก็บบนดิสก์
- เหมาะสำหรับข้อมูลที่มีความละเอียดอ่อนหรือไฟล์ชั่วคราว
การเมานต์ tmpfs ในทางปฏิบัติ
มาสร้างคอนเทนเนอร์ที่มีการเมานต์ tmpfs กัน เราจะเขียนไฟล์ลงไป จากนั้นออกจากคอนเทนเนอร์ เมื่อคุณเรียกใช้คอนเทนเนอร์ใหม่ ไฟล์ดังกล่าวจะหายไป
แฟล็ก --tmpfs ใช้ระบุจุดเมานต์ภายในคอนเทนเนอร์
docker run --rm -it \
--tmpfs /app/temp_data \
alpine:latest sh -c "echo 'Ephemeral data' > /app/temp_data/my_temp_file.txt && ls /app/temp_data"ตรวจสอบลักษณะชั่วคราวของ tmpfs
หลังจากเรียกใช้คำสั่งล่าสุด คุณจะเห็นรายการ my_temp_file.txt ตอนนี้ให้เรียกใช้คำสั่งนี้เพื่อเริ่มคอนเทนเนอร์ *ใหม่* โดยใช้การตั้งค่าการเมานต์ tmpfs แบบ *เดิม*
คุณจะสังเกตว่าไม่มี my_temp_file.txt อยู่แล้ว นี่เป็นการยืนยันว่าข้อมูลใน tmpfs เป็นข้อมูลชั่วคราวและมีอยู่เฉพาะในช่วงอายุการใช้งานของคอนเทนเนอร์
docker run --rm -it \
--tmpfs /app/temp_data \
alpine:latest ls /app/temp_dataการเมานต์แบบผูกเทียบกับการเมานต์ tmpfs
ควรใช้แต่ละแบบเมื่อใด
- การเมานต์แบบผูก: ใช้สำหรับแชร์ไฟล์บนโฮสต์ (เช่น การตั้งค่าหรือซอร์สโค้ด) กับคอนเทนเนอร์ โดยยังคงข้อมูลไว้และเข้าถึงโฮสต์ได้โดยตรง
- การเมานต์ tmpfs: ใช้สำหรับข้อมูลชั่วคราวที่ไม่ต้องการให้คงอยู่ ซึ่งต้องการประสิทธิภาพสูงหรือไม่ควรอยู่ต่อหลังรีสตาร์ตคอนเทนเนอร์ (เช่น แคชหรือข้อมูลขณะทำงานที่มีความละเอียดอ่อน)
ทั้งสองแบบช่วยเสริมโวลุม Docker ทำให้มีตัวเลือกจัดการข้อมูลได้อย่างครบถ้วน
ตรวจสอบความเข้าใจ: ประเภทการเมานต์
ข้อความใดต่อไปนี้กล่าวถูกต้องเกี่ยวกับการเมานต์แบบผูกและการเมานต์ tmpfs
สรุป: เครื่องมือจัดการข้อมูล
ยอดเยี่ยมมากครับ คุณได้เพิ่มเครื่องมือจัดการข้อมูล Docker ให้กับชุดเครื่องมือของคุณแล้ว
- การเมานต์แบบผูก เชื่อมโยงไฟล์หรือไดเรกทอรีบนโฮสต์กับคอนเทนเนอร์ เหมาะอย่างยิ่งสำหรับการพัฒนาและการแชร์การตั้งค่า
- การเมานต์ tmpfs ให้พื้นที่จัดเก็บชั่วคราวในหน่วยความจำ เหมาะสำหรับข้อมูลที่ไม่ต้องการให้คงอยู่หรือข้อมูลที่มีความละเอียดอ่อน
การทำความเข้าใจตัวเลือกเหล่านี้จะช่วยให้คุณเลือกโซลูชันการจัดเก็บข้อมูลที่เหมาะสมสำหรับแอปพลิเคชันที่ทำงานในคอนเทนเนอร์
คำถามที่พบบ่อย
บทเรียน “Bind Mount และ tmpfs Mount” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “Bind Mount และ tmpfs Mount” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Docker & DevOps Fundamentals ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Docker & DevOps Fundamentals มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “Bind Mount และ tmpfs Mount”
เรียนรู้เกี่ยวกับ bind mount สำหรับเข้าถึงไฟล์บนโฮสต์ และ tmpfs mount สำหรับจัดเก็บข้อมูลชั่วคราว คุณปฏิบัติ Docker & DevOps Fundamentals ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Docker & DevOps Fundamentals หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Docker & DevOps Fundamentals บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “Bind Mount และ tmpfs Mount” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Docker & DevOps Fundamentals นี้ได้ไหม
ได้ บทเรียน Docker & DevOps Fundamentals ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- พื้นฐานเครือข่ายคอนเทนเนอร์
- Docker Volume เพื่อการคงอยู่ของข้อมูล
- Bind Mount และ tmpfs Mount
- เครือข่ายบริดจ์แบบกำหนดเองและการค้นหาบริการ