VOLUMEনির্দেশ রানটাইম আপনার Docker কন্টেইনারে একটি ডাটা ভলিউম তৈরি করে। আর্গুমেন্ট হিসাবে প্রদত্ত ডিরেক্টরিটি VOLUMEহ'ল একটি ডিরেক্টরি যা ইউনিয়ন ফাইল সিস্টেমকে বাইপাস করে এবং মূলত অবিরাম এবং ভাগ করা ডেটার জন্য ব্যবহৃত হয়।
আপনি যদি চালনা করেন তবে আপনি বিভাগটির docker inspect <your-container>নীচে দেখতে পাবেন যে Mountsএকটি Sourceহোস্টে ডিরেক্টরি অবস্থানের প্রতিনিধিত্ব করে এবং একটি Destinationযা ধারকটিতে মাউন্ট করা ডিরেক্টরি অবস্থানের প্রতিনিধিত্ব করে। উদাহরণ স্বরূপ,
"Mounts": [
{
"Name": "fac362...80535",
"Source": "/var/lib/docker/volumes/fac362...80535/_data",
"Destination": "/webapp",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
]
এখানে 3 টি ব্যবহারের কেস রয়েছে docker run -v:
docker run -v /data: এটি VOLUMEআপনার ডকফাইফিলের নির্দেশাবলী নির্দিষ্ট করার জন্য সাদৃশ্য।
docker run -v $host_path:$container_path: এটি আপনাকে রানটাইম চলাকালীন আপনার ধারক $host_pathথেকে আপনার হোস্ট থেকে মাউন্ট করতে দেয় $container_path। বিকাশে, ধারকটির সাথে আপনার হোস্টে উত্স কোড ভাগ করার জন্য এটি দরকারী। উত্পাদনে, এটি হোস্টের ডিএনএস তথ্য (পাওয়া যায় /etc/resolv.conf) বা পাত্রে গোপনীয়গুলির মতো জিনিসগুলি মাউন্ট করতে ব্যবহৃত হতে পারে । বিপরীতে, আপনি হোস্টের নির্দিষ্ট ফোল্ডারে ধারকটির লগগুলি লেখার জন্যও এই কৌশলটি ব্যবহার করতে পারেন। উভয় $host_pathএবং $container_pathঅবশ্যই পরম পাথ হতে হবে।
docker run -v my_volume:$container_path: এটি আপনার ধারকটিতে একটি ডেটা ভলিউম তৈরি করে $container_pathএবং এটির নাম দেয় my_volume। এটি মূলত ব্যবহার করে একটি ভলিউম তৈরি করা এবং নামকরণ করার মতো docker volume create my_volume। ফ্লোরকারের মতো মাল্টি-হোস্ট স্টোরেজ ড্রাইভার ব্যবহার করে একটি ধারক ডেটা ভলিউম এবং একটি ভাগ-স্টোরেজ ভলিউমের জন্য এই জাতীয় ভলিউমের নামকরণ কার্যকর ।
লক্ষ্য করুন যে কোনও হোস্ট ফোল্ডারটিকে ডেটা ভলিউম হিসাবে মাউন্ট করার পন্থা ডকফাইফিলে উপলব্ধ নয়। ডকার ডকুমেন্টেশন উদ্ধৃত করতে ,
দ্রষ্টব্য: এটি পোর্টেবিলিটি এবং ভাগ করে নেওয়ার উদ্দেশ্যে এই ডকফায়াইল থেকে পাওয়া যায় না। হোস্ট ডিরেক্টরিটি হ'ল প্রকৃতি অনুসারে, হোস্ট-নির্ভর, একটি ডকফেরফায়লে বর্ণিত একটি হোস্ট ডিরেক্টরি সম্ভবত সমস্ত হোস্টে কাজ করবে না।
এখন আপনি যদি অ- বিকাশীয় পরিবেশে আপনার ফাইলগুলি কন্টেইনারে অনুলিপি করতে চান তবে আপনি নিজের ডকফাইফিলের নির্দেশাবলী ADDবা COPYনির্দেশাবলী ব্যবহার করতে পারেন । এগুলি আমি সাধারণত অ-উন্নয়নমূলক স্থাপনার জন্য ব্যবহার করি।
COPYকরা ভালADD। এগুলি প্রায় একই রকম, তবেADDকিছু অতিরিক্ত দক্ষতা আর্ট URL এবং সংরক্ষণাগার ফাইল রয়েছে যা অবাক করে দিতে পারে।