ใน 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 สภาพแวดล้อมของคุณ ในขณะเดียวกันก็รับประกันความสม่ำเสมอและการเข้าถึงข้อมูลได้ง่าย

