ใน Docker สภาพแวดล้อม การจัดการข้อมูลเป็นสิ่งสำคัญเพื่อให้แน่ใจว่ามีความสม่ำเสมอและการจัดเก็บข้อมูลที่มีประสิทธิภาพ นี่คือคำแนะนำโดยละเอียดเกี่ยวกับวิธีการจัดเก็บและแบ่งปันข้อมูลใน Docker:
โดยใช้ Data Volumes
Data volumes
เป็นวิธีที่ได้รับความนิยมในการจัดเก็บข้อมูลใน Docker สร้างพื้นที่แยกต่างหากและเป็นอิสระในการจัดเก็บcontainer
ข้อมูล- ใช้ ตัวเลือก
--volume
หรือ-v
เพื่อสร้างและแนบปริมาณข้อมูลกับไฟล์container
. ตัวอย่างเช่นdocker run -v mydata:/data
สร้างไดรฟ์ข้อมูลที่ตั้งชื่อmydata
และแนบไปกับ/data
ไดเร็กทอรีในไฟล์container
. Data volumes
สามารถใช้ร่วมกันได้container
ทำให้สามารถเข้าถึงและอัปเดตข้อมูลที่แบ่งปันได้
การแชร์ Host
ไดเร็กทอรีของเครื่อง
- คุณยังสามารถแชร์ไดเร็กทอรีจากเครื่องโฮสต์กับ a
container
โดยใช้ ตัวเลือก--volume
หรือ-v
กับพาธสัมบูรณ์บนเครื่องโฮสต์ - ตัวอย่างเช่น
docker run -v /path/on/host:/path/in/container
แชร์/path/on/host
ไดเร็กทอรีบนเครื่องโฮสต์กับ/path/in/container
ไดเร็กทอรีในไฟล์container
. การอัปเดตใด ๆ ในไดเร็กทอรีที่ใช้ร่วมกันจะมีผลทันทีในไฟล์container
.
โดยใช้ Data Volume Containers
Data volume containers
มีไว้containers
สำหรับจัดเก็บและแบ่งปันข้อมูลโดย เฉพาะ พวกมันถูกสร้างขึ้นเพื่อจัดการdata volumes
เท่านั้น- สร้างปริมาณข้อมูล
container
โดยใช้docker create
คำสั่งและแนบกับข้อมูลอื่นcontainers
โดยใช้--volumes-from
ตัวเลือก - ซึ่งช่วยให้แบ่งปันข้อมูลระหว่างกันได้ง่าย และ
containers
หลีกเลี่ยงการทำซ้ำข้อมูลในแต่ละรายการcontainers
โดยใช้ Bind Mounts
Bind mounts
เปิดใช้งานการแชร์ไดเร็กทอรีเครื่องโฮสต์โดยตรงโดยcontainers
ไม่ต้องใช้ปริมาณข้อมูล- ใช้ ตัวเลือก
--mount
หรือ-v
กับเส้นทางที่แน่นอนบนเครื่องโฮสต์เพื่อผูกเมานต์ไดเร็กทอรี - ตัวอย่างเช่น
docker run --mount type=bind,source=/path/on/host,target=/path/in/container
การผูกจะเมาต์/path/on/host
ไดเร็กทอรีบนเครื่องโฮสต์ไปยัง/path/in/container
ไดเร็กทอรีในไฟล์container
. การเปลี่ยนแปลงไปยังไดเร็กทอรีที่ใช้ร่วมกันจะมีผลทันทีในไฟล์container
.
โดยใช้ Docker Volume Plugins
- Docker รองรับ
volume plugin
ส่วนขยายสำหรับการจัดเก็บและการจัดการข้อมูลบนแพลตฟอร์มต่างๆ - ปลั๊กอิน เช่น
RexRay
,Flocker
หรือGlusterFS
ให้ความสามารถในการปรับขนาดและความสามารถในการจัดการข้อมูลสำหรับ Docker สภาพแวดล้อม ที่ซับซ้อนมากขึ้น
ด้วยการใช้วิธีการจัดเก็บและการแชร์ Docker เช่น Data Volumes
การแชร์ไดเร็กทอรีเครื่องโฮสต์, Data Volume Containers
, Bind Mounts
และ Docker Volume Plugins
คุณสามารถจัดการข้อมูลได้อย่างมีประสิทธิภาพในลักษณะที่ยืดหยุ่นและมีประสิทธิภาพใน Docker สภาพแวดล้อมของคุณ ในขณะเดียวกันก็รับประกันความสม่ำเสมอและการเข้าถึงข้อมูลได้ง่าย