আপনি খুব বিভ্রান্ত হতে পারেন যদি একটি লিনাক্স টার্মিনাল আপনার দিকে একটি "ডকার ডেমনের সাথে সংযোগ করতে পারে না" ত্রুটি ছুড়ে দেয়, কারণ ডকার ডেমনটি যখন আপনি এটি দেখেন তখন সম্ভবত এটি ইতিমধ্যেই চলছে। যদিও আপনি এটি নিশ্চিত করতে চাইবেন, আপনি সম্ভবত বিভ্রান্ত হবেন যখন আপনি জানতে পারবেন যে পরিষেবাটি শুরু না হওয়ার সাথে এই ত্রুটিটির কোনও সম্পর্ক নেই। এটি বেশিরভাগ ব্যবহারকারীদের উপর নিক্ষিপ্ত হয় যারা নিজেকে ডকার গ্রুপে যোগ করেননি।
ডকার লিনাক্স সিস্টেমে একটি পৃথক ব্যবহারকারী গোষ্ঠী ইস্যু করে এবং যাদের ব্যবহারকারীর অ্যাকাউন্ট রয়েছে যা এতে যোগ করা হয়নি তারা এটিতে সংযোগ করতে সক্ষম হবে না। মনে রাখবেন যে ডকার গ্রুপে একটি ব্যবহারকারী অ্যাকাউন্ট যোগ করা কার্যকরীভাবে রুট সমতুল্য কারণ ডেমন সর্বদা রুট ব্যবহারকারী হিসাবে চলছে। এটি একটি একক-ব্যবহারকারী উবুন্টু সার্ভার সিস্টেমে প্রত্যাশিত হতে পারে, তবে যারা আর্চ, ফেডোরা বা ডেবিয়ানে ডকার চালাচ্ছেন তাদের জন্য এটি অবশ্যই মনে রাখতে হবে৷
পদ্ধতি 1:ডকার পরিষেবার স্থিতি পরীক্ষা করা
যদিও এটি প্রায় নিশ্চিত, আপনাকে ডকার পরিষেবাটি বর্তমানে চলছে কিনা তা পরীক্ষা করতে হবে। একটি টার্মিনাল উইন্ডোতে, systemctl status docker.service চালান একজন সাধারণ ব্যবহারকারী হিসাবে। কোন পিআইডি নম্বর ডকারের ডেমন বরাদ্দ করা হয়েছে সে সম্পর্কে আপনার কিছু তথ্য পাওয়া উচিত। যদি আপনি না করেন, তাহলে আপনাকে পরিষেবাটি পুনরায় চালু করতে হবে।
আপনার যদি এটি পুনরায় আরম্ভ করা উচিত ছিল, যা কিছু করার চেষ্টা করুন যা আপনাকে "ডকার ডেমনের সাথে সংযোগ করতে পারে না" ত্রুটিটি ফেলে দিয়েছে। যদি এটি এখন কাজ করে, তাহলে আপনার পরিষেবাটি চলমান ছিল না এবং এটি চলমান না হওয়ার কারণ ছাড়াও অন্য কিছু নিয়ে চিন্তা করার দরকার নেই। দুর্ভাগ্যবশত, এটি বেশিরভাগ ক্ষেত্রে কাজ করে না তাই আপনাকে সেই পরিস্থিতিতে এগিয়ে যেতে হবে।
পদ্ধতি 2:ডকার গ্রুপে ব্যবহারকারীদের যোগ করা
ডকার তথ্য চালান কমান্ড লাইন থেকে, যা আপনাকে আবার "ডকার ডেমনের সাথে সংযোগ করতে পারে না" ত্রুটি দেবে৷
যদি এটি হয়, তাহলে আপনাকে sudo groupadd docker চালাতে হবে; sudo usermod -aG ডকার $USER নিজেকে সঠিক গ্রুপে যুক্ত করতে। যদি এটি একটি ত্রুটি দেয় কারণ আপনার কাছে usermod নেই, তাহলে আপনি sudo groupadd docker হিসাবে চালানোর জন্য কমান্ডটি পরিবর্তন করতে পারেন; sudo gpasswd -a $USER ডকার , তবে এটি সাধারণত একটি সমস্যা হওয়া উচিত নয় কারণ বেশিরভাগ বাণিজ্যিক-গ্রেড লিনাক্স ডিস্ট্রিবিউশন একই সরঞ্জামগুলির সাথে কাজ করছে। যাই হোক না কেন, newgrp docker চালান তাই আপনি নতুন ডকার গ্রুপে লগ ইন করতে পারেন যদি আপনি ইতিমধ্যে না থাকেন।
মনে রাখবেন এটি সর্বদা যে ব্যবহারকারীকে আপনি বর্তমানে লগ ইন করেছেন তাকে যুক্ত করবে, যা বেশিরভাগ লোকের সিস্টেমে খুব বেশি সমস্যা হওয়া উচিত নয় যাদের এক ব্যবহারকারী এবং রুট অ্যাকাউন্টের বাইরে একাধিক অ্যাকাউন্ট নেই। যেহেতু আপাতত আপনার কাছে প্রশাসনিক অ্যাক্সেস আছে, তাই চালান sudo chgrp docker /usr/bin docker; sudo chgrp docker /var/run/docker.sock ডকার সকেট এবং কমান্ডের অনুমতিগুলি ঠিক করতে। সাধারণত, সকেট ফাইলটি শুধুমাত্র রুট ব্যবহারকারীর জন্য থাকে তাই এটি এটিকে সংশোধন করবে।
এটি চালানোর পরে, আপনার কোন সমস্যা হওয়া উচিত নয় কারণ এটি এখন একই গ্রুপের অন্তর্গত যা আপনি আগের কমান্ডে তৈরি করেছিলেন। আপনি নিশ্চিত করতে পরীক্ষা করতে চাইবেন যে ডকার সুডো ছাড়াই চলে, তাই ডকার রান হ্যালো-ওয়ার্ল্ড টাইপ করুন আপনি অন্য কোনো ত্রুটি পাচ্ছেন না তা নিশ্চিত করার জন্য একজন নিয়মিত ব্যবহারকারী হিসেবে।
এই মুহুর্তে, খুব কম ব্যবহারকারী এখনও কোন ধরণের ত্রুটি বার্তা পাবেন। এই মুহুর্তে বেশিরভাগ জিনিসগুলি সংশোধন করা উচিত, তবে আপনার যদি এখনও সমস্যা হয় তবে আপনি সম্পূর্ণভাবে লগ আউট করতে চাইতে পারেন। অন্য একটি টার্মিনাল এমুলেটর উইন্ডো খোলার চেষ্টা করুন, কিন্তু যদি এটি কাজ না করে তবে এটি কখনও কখনও সম্পূর্ণরূপে পুনরায় চালু করার জন্য সিস্টেমটিকে নামিয়ে আনতে সাহায্য করে যদি এটি সম্ভব হয়
পদ্ধতি 3:ডকার মেটাডেটা পরিবর্তন করতে ACL ব্যবহার করা
আপনি যদি এমন একটি গোষ্ঠীর অন্তর্গত হতে না চান যা আপনাকে রুট ব্যবহারকারীর মতো করে, তাহলে আপনি শুধুমাত্র নির্দিষ্ট অনুমতির সাথে কাজ করার জন্য সকেট ফাইল সেট করতে পারেন। আপনি যদি এইভাবে এটি করতে পছন্দ করেন তবে আপনি gpasswd প্রক্রিয়াটিকে উপেক্ষা করতে পারেন। যারা নিরাপত্তা নিরীক্ষা করছেন তাদের জন্য বিভিন্ন ACL এন্ট্রির জন্য ফাইল সিস্টেম স্ক্যান করতে হবে, কিন্তু এটি আপনাকে সম্পূর্ণরূপে ডকার গ্রুপ ব্যবহার করতে বাধা দেয়।
আপনি যদি এইভাবে এটি করতে চান, তাহলে আপনি sudo setfacl -m user:name:rw /var/run/docker.sock চালাতে পারেন উপযুক্ত লেবেল দিয়ে ব্যবহারকারী এবং নাম প্রতিস্থাপন করার সময়। এটি /var/run/docker.sock-এ ডকার সকেট অ্যাক্সেস করার অনুমতি দেয়, যা ডেবিয়ান এবং উবুন্টু সার্ভারের সাথে কাজ করা উচিত।
লেখক সম্পর্কে
কেভিন অ্যারোস
কেভিন অ্যারোস এক দশকেরও বেশি শিল্প অভিজ্ঞতার সাথে একজন অত্যন্ত অভিজ্ঞ এবং জ্ঞানী প্রযুক্তি বিশেষজ্ঞ। তিনি মাইক্রোসফ্ট সার্টিফাইড টেকনোলজি স্পেশালিস্ট (MCTS) সার্টিফিকেশন ধারণ করেছেন এবং সর্বশেষ প্রযুক্তিগত উন্নয়ন সম্পর্কে আপ-টু-ডেট থাকার গভীর আবেগ রয়েছে। সফটওয়্যার ডেভেলপমেন্ট, সাইবার সিকিউরিটি, এবং ক্লাউড কম্পিউটিং-এর মতো ক্ষেত্রগুলিতে তার দক্ষতা এবং জ্ঞান প্রদর্শন করে কেভিন প্রযুক্তি-সম্পর্কিত বিষয়গুলির বিস্তৃত পরিসরে ব্যাপকভাবে লিখেছেন। কারিগরি ক্ষেত্রে তার অবদান তার সমবয়সীদের দ্বারা ব্যাপকভাবে স্বীকৃত এবং সম্মানিত হয়েছে এবং জটিল প্রযুক্তিগত ধারণাগুলিকে স্পষ্ট এবং সংক্ষিপ্তভাবে ব্যাখ্যা করার ক্ষমতার জন্য তিনি অত্যন্ত সম্মানিত।