স্থির করুন: ডকার ডেমনের সাথে সংযুক্ত হতে পারে না



সমস্যাগুলি দূর করার জন্য আমাদের উপকরণটি ব্যবহার করে দেখুন

যদি কোনও লিনাক্স টার্মিনাল আপনার কাছে একটি 'ডকার ডিমন সাথে সংযোগ করতে পারে না' ত্রুটি ফেলছে তবে আপনি খুব বিভ্রান্ত হতে পারেন কারণ সম্ভবত আপনি যখন এটি দেখেন ডকর ডিমন ইতিমধ্যে চলছে। আপনি যখন তা নিশ্চিত করতে চাইবেন তখনই আপনি সম্ভবত বিস্মিত হবেন যখন আপনি জানতে পারেন যে এই ত্রুটিটি পরিষেবাটি শুরু না হওয়ার সাথেও করতে হবে না। এটি বেশিরভাগ এমন ব্যবহারকারীদের দিকে ছুঁড়ে যায় যাঁরা নিজেকে ডকার গোষ্ঠীতে যোগ করেন নি।



ডকার লিনাক্স সিস্টেমগুলিতে একটি পৃথক ব্যবহারকারী গোষ্ঠী জারি করে এবং যার ব্যবহারকারীর অ্যাকাউন্ট রয়েছে যা এতে যুক্ত হয় না তারা এটিতে সংযোগ করতে সক্ষম হবে না। মনে রাখবেন যে ডকার গ্রুপে একটি ব্যবহারকারীর অ্যাকাউন্ট যুক্ত করা কার্যত রুট সমতুল্য যেহেতু ডেমন সর্বদা রুট ব্যবহারকারী হিসাবে চলমান। এটি কোনও একক ব্যবহারকারী উবুন্টু সার্ভার সিস্টেমে প্রত্যাশিত হতে পারে তবে আর্ক, ফেডোরা বা ডেবিয়ানে যারা ডকার চালাচ্ছেন তাদের জন্য এটি অবশ্যই মনে রাখা উচিত।



পদ্ধতি 1: ডকার পরিষেবার স্থিতি পরীক্ষা করা

এটি প্রায় নিশ্চিতভাবেই হওয়া অবস্থায়, আপনার এখন ডকার পরিষেবা চালু আছে কিনা তা পরীক্ষা করে দেখতে হবে। একটি টার্মিনাল উইন্ডোতে, চালান systemctl স্ট্যাটাস docker.service সাধারণ ব্যবহারকারী হিসাবে কোন পিআইডি নম্বর ডকারের ডেমন নির্ধারিত হয়েছে সে সম্পর্কে আপনার কিছু তথ্য পাওয়া উচিত। আপনি যদি তা না করেন, তবে আপনাকে পরিষেবাটি পুনরায় চালু করতে হবে।



আপনি যদি এটি পুনরায় শুরু করে থাকেন, তবে এটি 'ডকার ডেমনের সাথে সংযোগ স্থাপন করতে পারে না' ত্রুটিটি ছুঁড়ে ফেলেছে এমন কিছু করার চেষ্টা করুন। যদি এটি এখন কাজ করে তবে আপনার কাছে কেবল পরিষেবাটি চালু ছিল না এবং এটি চালু না হওয়ার কারণ ছাড়া অন্য কোনও বিষয় নিয়ে সত্যই চিন্তা করার দরকার নেই। দুর্ভাগ্যক্রমে, এটি বেশিরভাগ ক্ষেত্রে কাজ করে না তাই আপনাকে এই পরিস্থিতিতে এগিয়ে যেতে হবে।

পদ্ধতি 2: ডকার গ্রুপে ব্যবহারকারীদের যুক্ত করা

চালান ডকার তথ্য কমান্ড লাইন থেকে, যা আপনাকে সাধারণত 'ডকার ডিমন সাথে সংযোগ করতে পারে না' ত্রুটিটি আবার দেয়।

যদি এটি হয় তবে আপনার চালানো দরকার sudo groupadd docker; sudo ব্যবহারকারীর -aG ডকার $ ব্যবহারকারী নিজেকে সঠিক গ্রুপে যুক্ত করতে। এটিতে কোনও ত্রুটি দেওয়া উচিত কারণ আপনার ব্যবহারকারীর আধুনিক সরঞ্জাম নেই, তবে আপনি চালনার জন্য আদেশটি পরিবর্তন করতে পারেন sudo groupadd docker; sudo gpasswd -a $ USER ডকার , তবে এটি সাধারণত কোনও সমস্যা হওয়া উচিত নয় কারণ বেশিরভাগ বাণিজ্যিক-গ্রেড লিনাক্স বিতরণগুলি একই সেটগুলির সরঞ্জামগুলির সাথে কাজ করছে। যে কোনও ক্ষেত্রে, চালান newgrp ডকার যাতে আপনি ইতিমধ্যে না থাকলে আপনি নতুন ডকার গ্রুপে লগ ইন করতে পারেন।



মনে রাখবেন এটি সর্বদা আপনার হিসাবে লগইন করা ব্যবহারকারীকে যুক্ত করবে, যা বেশিরভাগ মানুষের সিস্টেমে খুব বেশি সমস্যা হওয়া উচিত নয় যাদের এক ব্যবহারকারী এবং মূল অ্যাকাউন্টের বাইরে একাধিক অ্যাকাউন্ট নেই। যেহেতু আপাতত আপনার প্রশাসনিক প্রবেশাধিকার কীড রয়েছে তাই চালান sudo chgrp ডকার / usr / বিন ডকার; sudo chgrp ডকার /var/run/docker.sock ডকার সকেটে এবং কমান্ডের অনুমতিগুলি ঠিক করতে। সাধারণত, সকেট ফাইল কেবল রুট ব্যবহারকারীর অন্তর্ভুক্ত তাই এটি এটি সংশোধন করবে।

এটি চালানোর পরে, আপনার কোনও সমস্যা হওয়ার দরকার নেই কারণ এটি এখন পূর্ববর্তী কমান্ডে তৈরি করা একই গোষ্ঠীর অন্তর্ভুক্ত। আপনি পরীক্ষা করতে চাইবেন তা নিশ্চিত করার জন্য যে ডকার সুডো ছাড়াই চলে, যদিও টাইপ করুন ডকার রান হ্যালো-ওয়ার্ল্ড আপনি অন্য কোনও ত্রুটি পাচ্ছেন না তা নিশ্চিত করার জন্য একজন নিয়মিত ব্যবহারকারী হিসাবে as

এই মুহুর্তে, খুব কম ব্যবহারকারী এখনও কোনও ধরণের ত্রুটি বার্তা গ্রহণ করবে। বেশিরভাগ জিনিসগুলি এই মুহুর্তে সংশোধন করা উচিত, তবে আপনার যদি এখনও সমস্যা হয় তবে আপনি সম্পূর্ণরূপে লগ আউট করতে চাইতে পারেন। অন্য একটি টার্মিনাল এমুলেটর উইন্ডো খোলার চেষ্টা করুন, তবে এটি যদি কাজ না করে তবে কখনও কখনও এটি সম্পূর্ণ সম্ভব হলে সিস্টেমটিকে সম্পূর্ণ পুনরায় আরম্ভ করার জন্য সহায়তা করে

পদ্ধতি 3: ডকার মেটাডেটা সংশোধন করতে এসিএল ব্যবহার করা

আপনি যদি এমন কোনও গোষ্ঠীর অন্তর্ভুক্ত থাকতে না চান যা আপনাকে রুট ব্যবহারকারীর মতো করে তোলে, তবে আপনি সকেট ফাইলটি কেবলমাত্র কিছু নির্দিষ্ট অনুমতি নিয়ে কাজ করতে পারেন। আপনি যদি এইভাবে এটি করতে পছন্দ করেন তবে আপনি gpasswd প্রক্রিয়াটিকে উপেক্ষা করতে পারেন। সুরক্ষা নিরীক্ষা করা লোকদের বোঝাতে বিভিন্ন এসিএল এন্ট্রিগুলির জন্য ফাইল সিস্টেম স্ক্যান করা, তবে এটি আপনাকে পুরোপুরি ডকার গোষ্ঠী ব্যবহার করতে বাধা দেয়।

আপনি যদি এইভাবে এটি করতে চান তবে আপনি চালাতে পারেন sudo setfacl -m ব্যবহারকারী: নাম: rw /var/run/docker.sock যখন উপযুক্ত লেবেল ব্যবহার করে ব্যবহারকারী এবং নাম প্রতিস্থাপন করবেন। এটি /var/run/docker.sock এ ডকার সকেট অ্যাক্সেসের অনুমতি দেয়, যা দেবিয়ান এবং উবুন্টু সার্ভারের সাথে কাজ করা উচিত।

3 মিনিট পড়া