আমাকে আমার নিজের উত্তর যুক্ত করতে দাও, কারণ আমি বিশ্বাস করি যে অন্যরা ডকারের বিন্দুটি অনুপস্থিত।
ব্যবহার VOLUME
ডকফাইফিলে করা হ'ল সঠিক উপায় because কারণ আপনি ডকারকে জানতে দিয়েছেন যে কোনও নির্দিষ্ট ডিরেক্টরিতে স্থায়ী ডেটা থাকে। ডকার সেই ডেটার জন্য একটি ভলিউম তৈরি করবে এবং কখনও এটি মুছে ফেলবে না, এমনকি আপনি যদি এটি ব্যবহার করে এমন সমস্ত পাত্রে সরিয়ে ফেলেন।
এটি ইউনিয়ন ফাইল সিস্টেমকেও বাইপাস করে, যাতে ভলিউম প্রকৃতপক্ষে একটি আসল ডিরেক্টরি হয় যা ভাগ করে নেওয়া সমস্ত পাত্রে সঠিক জায়গায় মাউন্ট হয় (পঠন-লিখন বা কেবলমাত্র পড়তে পারে)।
এখন, হোস্ট থেকে সেই ডেটা অ্যাক্সেস করার জন্য, আপনাকে কেবলমাত্র আপনার ধারকটি পরীক্ষা করতে হবে:
# docker inspect myapp
[{
.
.
.
"Volumes": {
"/var/www": "/var/lib/docker/vfs/dir/b3ef4bc28fb39034dd7a3aab00e086e6...",
"/var/cache/nginx": "/var/lib/docker/vfs/dir/62499e6b31cb3f7f59bf00d8a16b48d2...",
"/var/log/nginx": "/var/lib/docker/vfs/dir/71896ce364ef919592f4e99c6e22ce87..."
},
"VolumesRW": {
"/var/www": false,
"/var/cache/nginx": true,
"/var/log/nginx": true
}
}]
আমি সাধারণত যা করি তা হ'ল / এসআরভি-র মতো কিছু স্ট্যান্ডার্ড জায়গায় সিমলিংক তৈরি করা , যাতে আমি সহজেই ভলিউমগুলিতে অ্যাক্সেস করতে পারি এবং সেগুলিতে থাকা ডেটা পরিচালনা করতে পারি (কেবলমাত্র আপনি যে খণ্ডগুলির জন্য যত্নশীল)
ln -s /var/lib/docker/vfs/dir/b3ef4bc28fb39034dd7a3aab00e086e6... /srv/myapp-www
ln -s /var/lib/docker/vfs/dir/71896ce364ef919592f4e99c6e22ce87... /srv/myapp-log