ম্যাক ভলিউম মাউন্টগুলির জন্য ডকার বেস ডকার সিস্টেমের চেয়ে আলাদা আচরণ করে। এটি বেশিরভাগ কারণ ডোকার অ্যাপলের ফাইল সিস্টেম স্যান্ডবক্স নির্দেশিকা মেনে চলার চেষ্টা করে।
ডকারের পছন্দ হিসাবে দেখানো হয়েছে, কেবলমাত্র কয়েকটি পাথ ম্যাকস দ্বারা রফতানি করা হয়েছে।
/Users
/Volumes
/tmp
/private
/var
ম্যাকোস এ একটি প্রতীকী লিঙ্ক /private
। এটিও সত্য /tmp
:
$ ls -ld /tmp /var
lrwxr-xr-x@ 1 root wheel 11 Jan 26 16:18 /tmp -> private/tmp
lrwxr-xr-x@ 1 root wheel 11 Jan 26 16:18 /var -> private/var
/tmp
ভাগ করে নেওয়ার প্যানেলে তালিকাভুক্ত কেন , তবে /var
তা নয় (যদিও উভয়ই একটি অংশ /private
)? ফাইল সিস্টেমে নেমস্পেসগুলি সম্পর্কে ম্যাকের ডকুমেন্টেশনের জন্য ডকার ব্যাখ্যা করেছেন:
ডিফল্টরূপে, আপনি ফাইল শেয়ার করতে পারেন /Users/
, /Volumes/
, /private/
, এবং /tmp
সরাসরি। ডকারে রফতানি করা ডিরেক্টরি ট্রি যুক্ত করতে বা মুছে ফেলার জন্য ডকারের পছন্দসমূহ তিমি মেনুতে -> পছন্দসমূহ -> ফাইল ভাগ করে নেওয়ার ক্ষেত্রে ফাইল ভাগ করে নেওয়ার ট্যাবটি ব্যবহার করুন। (পছন্দসমূহ দেখুন।)
-v
বাইন্ড মাউন্টগুলিতে ব্যবহৃত অন্যান্য সমস্ত পাথ ডবির পাত্রে চালিত মবি লিনাক্স ভিএম থেকে উত্সাহিত হয়, সুতরাং আর্গুমেন্ট -v /var/run/docker.sock:/var/run/docker.sock
যেমন প্রত্যাশা অনুযায়ী কাজ করা উচিত। যদি কোনও ম্যাকোস পাথ ভাগ না করা হয় এবং ভিএম-তে উপস্থিত না থাকে তবে মাউন্টটিকে আবদ্ধ করার চেষ্টাটি ভিএম-এ তৈরি করার পরিবর্তে ব্যর্থ হবে। VM- এ ইতিমধ্যে বিদ্যমান পাথগুলি এবং ফাইলগুলি ডকারের দ্বারা সংরক্ষিত এবং ম্যাকোস থেকে রফতানি করা যায় না।
নোট যে /var/run
এখানে বিশেষত একটি জায়গা হিসাবে উল্লেখ করা হয়েছে যা লিনাক্স ভিএম থেকে ম্যাকোসের পরিবর্তে মাউন্ট করা হবে।
আপনি যখন ভলিউম মাউন্টের জন্য জিজ্ঞাসা করবেন, তখন ম্যাকোস ফাইল সিস্টেম রফতানিগুলি প্রথমে পরীক্ষা করা হবে। যদি সেখানে কোনও মিল না থাকে, লিনাক্স ভিএম যেখানে ডকার চলমান রয়েছে তার পরে পরীক্ষা করা হবে। যদি আপনি দুজনেরই অনুরোধকৃত পথ না থাকে তবে মাউন্টটি ব্যর্থ হয়।
আপনার ক্ষেত্রে, /var
ম্যাকোস দ্বারা রফতানি হয় না। /var
লিনাক্স ভিএম-তে উপস্থিত রয়েছে, তবে /var/folders
তা নেই। অতএব, পাথ উপলব্ধ নেই এবং মাউন্ট ব্যর্থ হয়।
আপনি যদি এই পথটি পরিবর্তন করেন /private/var
তবে তা সফল হবে, কারণ ম্যাকোস /private
মাউন্ট করার জন্য পুরো ফাইল সিস্টেম ট্রি রফতানি করে ।
জিনিসগুলিকে আরও পোর্টেবল করার জন্য, আপনি বর্তমানে কোন প্ল্যাটফর্মটি চালাচ্ছেন তা পরীক্ষা করতে চাইতে পারেন এবং যদি এটি ম্যাকোস হয় তবে এর সাথে মাউন্ট পাথটি উপস্থাপন করুন /private
।
-v /private/var/folders/zz/...
?