การ Mount Filesystem ของโฮสต์

Docker ระดับกลาง

Mike Metzger

Data Engineer

Filesystem ของ Container

  • Container แต่ละอินสแตนซ์มี Filesystem เป็นของตัวเอง
    • อิงจาก Image ที่ใช้สร้าง Container
  • การเปลี่ยนแปลงใดๆ ผูกกับอินสแตนซ์นั้นโดยเฉพาะ
  • การเปลี่ยนแปลงคงอยู่แม้รีสตาร์ท
    • เฉพาะอินสแตนซ์นั้น เท่านั้น
  • Container ใหม่มีเฉพาะข้อมูลใน Image ไม่มีการเปลี่ยนแปลงเฉพาะอินสแตนซ์

Filesystem ของ Container

Docker ระดับกลาง

การแชร์ไฟล์หรือไดเรกทอรี

  • แนบไฟล์หรือไดเรกทอรีเฉพาะเข้ากับ Container ได้
  • ช่วยให้ข้อมูลคงอยู่โดยไม่ต้องรักษา Container เฉพาะไว้
  • อัปเกรด Container เป็นเวอร์ชันใหม่ได้โดยข้อมูล/การเปลี่ยนแปลงปลอดภัย
  • เรียกว่า bind-mount
  • ใช้งานได้ทั้งแบบอ่านอย่างเดียวและอ่าน/เขียน
  • หมายเหตุ: เมื่อแนบไฟล์หรือไดเรกทอรีเข้า Container แล้ว โฮสต์จะเข้าถึงไม่ได้จนกว่า Container จะปิดทำงาน
Docker ระดับกลาง

การใช้ตัวเลือก -v

  • bind-mount ส่วนใหญ่ใช้ Flag -v
  • -v <source>:<destination>
  • ใช้ -v ได้หลายครั้ง
  • หรือใช้ Option --mount แทนได้
  • หมายเหตุ: bind-mount จะ ซ่อน เนื้อหาที่มีอยู่แล้วในไดเรกทอรีปลายทาง
docker run -v ~/html:/var/www/html \
       nginx
docker run 
       -v ~/pgdata:/opt/data \
       -v ~/pg.conf:/etc/pg.conf \
       postgresql
Docker ระดับกลาง

มาฝึกกันเถอะ!

Docker ระดับกลาง

Preparing Video For Download...