আমি একটি অনুরূপ সমস্যার মুখোমুখি হয়েছি, এটি একটি অনুমতির সমস্যা এবং এই সমস্যার কারণ হ'ল ডকার ডেমন / সার্ভার সর্বদা root
ব্যবহারকারী হিসাবে চালিত হয় এবং আপনি সর্বদা ডকার কমান্ডের সাথে প্রিফেস করতে চান sudo
।
ডকার ডিমন একটি টিসিপি পোর্টের পরিবর্তে ইউনিক্স সকেটের সাথে আবদ্ধ। ডিফল্টরূপে ইউনিক্স সকেটটি ব্যবহারকারীর মালিকানাধীন root
এবং অন্যান্য ব্যবহারকারীরা কেবল এটির ব্যবহার করে অ্যাক্সেস করতে পারবেন sudo
।
এটি ঠিক করার জন্য, এখানে আমার জন্য কী কাজ করেছে:
প্রথমত, আপনার কোনও ডকার গ্রুপ ইতিমধ্যে তৈরি হয়েছে কিনা তা পরীক্ষা করুন:
cat /etc/group
যদি আপনি docker
প্রদর্শিত তালিকায় খুঁজে না পান তবে আপনাকে একটি তৈরি করতে হবে:
sudo groupadd docker
এরপরে, নীচের কমান্ডটি ব্যবহার করে আপনার user
এবং আপনার নিশ্চিত করুন group
:
cat /etc/group
ডকারের জন্য গ্রুপটি দেখতে স্ক্রোল করুন। এটি এই ফর্ম্যাট হওয়া উচিত
docker:x:140:promisepreston
যেখানে docker
আমার group
এবং promisepreston
আমারuser
এখন আমরা আপনার ব্যবহারকারীকে ডকার গ্রুপে যুক্ত করতে পারি
কেবল ডকার কনটেইনার ফাইলগুলির জন্য:
আপনার টার্মিনালে নীচের কমান্ডটি অনুলিপি করুন এবং চালনা করুন ঠিক কীভাবে এটি যেভাবে বলা যায় এটির কোনও পরিবর্তন না করেই আপনি কীভাবে চালনা করতে চান বা চালনা করার চেষ্টা করছেন বা অনুমতি ইস্যুটি করছেন:
sudo usermod -aG docker $USER
উপরের কমান্ডটি চালানোর পরে, আপনাকে লগ আউট করতে এবং লগ ইন করতে হবে যাতে আপনার গ্রুপের সদস্যপদটি পুনরায় মূল্যায়ন হয় is তবে, লিনাক্সে, আপনি গ্রুপগুলিতে পরিবর্তনগুলি সক্রিয় করতে নীচের নীচের কমান্ডটিও চালিয়ে যেতে পারেন ( আপনার টার্মিনালে নীচের কমান্ডটি অনুলিপি করুন এবং চালনা করুন ঠিক কীভাবে এটি কোনও পরিবর্তন না করে বলা হয়েছে, ডকার চিত্র / ধারক / কমান্ড নির্বিশেষে যে আপনি দৌড়াতে চান বা চালানোর চেষ্টা করছেন বা অনুমতি ইস্যুটি কেস করছেন ):
newgrp docker
আপনি এখন যাচাই করতে পারবেন যে আপনি sudo অনুমতি ছাড়াই ডকার কমান্ডগুলি চালাতে পারবেন, অনুমতিগুলি পুনরায় তৈরি করার জন্য যে কমান্ডটি চালিয়ে যাচ্ছে, তা বলুন ( আপনার চিত্র / ধারক / কমান্ডের নামটি প্রতিস্থাপন করুনmy-command
):
docker run my-command
ডকার এবং স্থানীয় ফাইল সিস্টেম ফাইলগুলির জন্য:
আপনার যদি স্থানীয় ফাইল সিস্টেমে ফাইলগুলির একটি অনুলিপি থাকে, তবে আপনি এই ফর্ম্যাটটি ব্যবহার করে অ্যাপ্লিকেশন ডিরেক্টরিগুলি সংরক্ষণ করা সেই অ্যাপ্লিকেশন ডিরেক্টরিটির মালিকানা পরিবর্তন করতে পারেন:
sudo chown <your_user>:<your_group> -R my-app-directory/
সুতরাং আমার ক্ষেত্রে এটি হবে:
sudo chown promisepreston:docker -R my-app-directory/
দ্রষ্টব্য: অনুগ্রহ করে অ্যাপ্লিকেশন ডিরেক্টরিতে থাকা প্যারেন্ট ডিরেক্টরিতে এই কমান্ডটি চালান।
এখানেই শেষ.
আশা করি এটা কাজে লাগবে