সুসংবাদ: নতুন ডকার (সংস্করণ ১৯.০৩ (বর্তমানে পরীক্ষামূলক)) মূল ব্যবহারকারী ব্যবহার করে যে সমস্যা দেখা দিতে পারে সেগুলি উপেক্ষা করে রুটলেস চালাতে সক্ষম হবে। যখন আপনি চান না তখন আপনার মেশিনটি খুলে দিতে পারে এমন উন্নত অনুমতি, রুট এবং এমন কোনও কিছু নিয়ে আর কোনও গোলযোগ নেই।
[ডকারকন 2019] এর থেকে ভিডিও ] রুটলেস মোড সহ ডকার ডিমনকে কঠোর করা
রুটলেস ডকার মোডে কয়েকটি ক্যাভেট
ডকার ইঞ্জিনিয়াররা বলছেন যে ডকার ইঞ্জিন বৈশিষ্ট্যগুলির সম্পূর্ণ স্যুটটির জন্য রুটলেস মোডটিকে প্রতিস্থাপন হিসাবে বিবেচনা করা যাবে না। রুটলেস মোডের কিছু সীমাবদ্ধতার মধ্যে রয়েছে:
- সিগ্রুপস রিসোর্স নিয়ন্ত্রণ, অ্যাপারমোর সিকিউরিটি প্রোফাইল, চেকপয়েন্ট / রিস্টোর, ওভারলে নেটওয়ার্ক ইত্যাদি রুটলেস মোডে কাজ করে না।
- পাত্রে থেকে পোর্টগুলি এক্সপোজ করার জন্য বর্তমানে ম্যানুয়াল সস্যাট সহায়ক প্রক্রিয়া প্রয়োজন।
- কেবল উবুন্টু-ভিত্তিক ডিস্ট্রসগুলি রুটলেস মোডে ওভারলে ফাইল সিস্টেমগুলিকে সমর্থন করে।
- রুটলেস মোড বর্তমানে কেবল রাতের বিল্ডগুলির জন্য সরবরাহ করা হয়েছে যা আপনার ব্যবহারের মতো স্থিতিশীল নাও হতে পারে।
19.3 ডকার হিসাবে এটি অপ্রচলিত (এবং প্রয়োজনের তুলনায় আরও বিপজ্জনক):
Docker ম্যানুয়াল এই এটা সম্পর্কে বলার আছে:
অ-রুট অ্যাক্সেস দেওয়া
ডকার ডিমন সর্বদা রুট ব্যবহারকারী হিসাবে চলে এবং ডকার সংস্করণ ০.০.২ থেকে ডকার ডিমন টিসিপি পোর্টের পরিবর্তে ইউনিক্স সকেটে বাঁধে। ডিফল্টরূপে ইউনিক্স সকেটটি ব্যবহারকারী রুটের মালিকানাধীন এবং তাই, ডিফল্টরূপে, আপনি এটি sudo দিয়ে অ্যাক্সেস করতে পারেন।
০.০.৩ সংস্করণে শুরু করে আপনি যদি (বা আপনার ডকার ইনস্টলার) ডকার নামে একটি ইউনিক্স গ্রুপ তৈরি করেন এবং এতে ব্যবহারকারীদের যুক্ত করেন তবে ডকার ডিমনটি ডিকমন গোষ্ঠীর দ্বারা ইউনিক্স সকেটের পাঠ / লেখার যোগ্যতা তৈরি করবে যখন ডেমন শুরু হবে । ডকার ডেমনটি অবশ্যই সর্বদা রুট ব্যবহারকারী হিসাবে চলতে পারে, তবে আপনি যদি ডকার গ্রুপে ব্যবহারকারী হিসাবে ডকার ক্লায়েন্ট চালনা করেন তবে আপনাকে সমস্ত ক্লায়েন্ট কমান্ডে sudo যুক্ত করার দরকার নেই। ০.৯.০-এর হিসাবে, আপনি উল্লেখ করতে পারেন যে ডকার বাদে অন্য কোনও গ্রুপের -G বিকল্পের সাথে ইউনিক্স সকেটের মালিক হওয়া উচিত।
সতর্কতা: ডকার গ্রুপ (বা -জি দিয়ে নির্দিষ্ট করা গ্রুপ) মূল-সমতুল্য; দেখতে Docker ডেমন আক্রমণ সারফেস বিবরণ এবং এই ব্লগপোস্টটিকে কেন আমরা দেবেন না root- ব্যতীত ব্যবহারকারীদের সেন্টওএস, ফেডোরা, অথবা RHEL মধ্যে Docker চালানো (ধন্যবাদ মাইকেল-এন)।
গিটহাবের পরীক্ষামূলক রুটলেস মোডের সাম্প্রতিক প্রকাশে ইঞ্জিনিয়াররা উল্লেখ করেছেন যে রুটলেস মোড ডকার্ডকে একটি অনিবদ্ধ ব্যবহারকারী হিসাবে চলমান, ব্যবহারকারীর নাম-স্পেসেস (7), মাউন্ট_নামস্পেস (7), নেটওয়ার্ক_নামস্পেস (7) ব্যবহার করে allows
ব্যবহারকারীদের ডকার্ডের পরিবর্তে ডকারড -রোটলেস.শ চালাতে হবে।
$ dockerd-rootless.sh --experimental
রুটলেস মোড পরীক্ষামূলক হওয়ায় ব্যবহারকারীদের সর্বদা এক্সপেরিমেন্টাল দিয়ে ডকারড- রুটলেস.শ চালাতে হবে।
পড়তে গুরুত্বপূর্ণ: লিনাক্সের জন্য ইনস্টলেশন-পরবর্তী পদক্ষেপগুলি (এটি ডকার ডেমন আক্রমণ আক্রমণ পৃষ্ঠের বিশদের সাথেও লিঙ্ক করে )।
অ-রুট ব্যবহারকারী হিসাবে ডকার পরিচালনা করুন
ডকার ডিমন টিসিপি পোর্টের পরিবর্তে ইউনিক্স সকেটের সাথে আবদ্ধ হয়। ডিফল্টরূপে ইউনিক্স সকেটটি ব্যবহারকারীর রুটের মালিকানাধীন এবং অন্যান্য ব্যবহারকারীরা কেবল এটি সুডো ব্যবহার করে অ্যাক্সেস করতে পারবেন। ডকার ডেমন সর্বদা রুট ব্যবহারকারী হিসাবে চলে।
আপনি ডকার কমান্ডটি ব্যবহার করার সময় আপনি যদি সুডো ব্যবহার করতে না চান, ডকার নামে একটি ইউনিক্স গ্রুপ তৈরি করুন এবং এতে ব্যবহারকারীদের যুক্ত করুন। ডকার ডেমন শুরু হয়ে গেলে এটি ইউনিক্স সকেটের মালিকানা ডকার গ্রুপ দ্বারা পঠনযোগ্য / লিখনযোগ্য করে তোলে।
ডকার গ্রুপটি ইতিমধ্যে বিদ্যমান না থাকলে যুক্ত করুন:
sudo groupadd docker
সংযুক্ত ব্যবহারকারী "$ USER" ডকার গ্রুপে যুক্ত করুন। আপনি যদি আপনার বর্তমান ব্যবহারকারী ব্যবহার করতে না চান তবে আপনার পছন্দসই ব্যবহারকারীর সাথে মেলে ব্যবহারকারীর নাম পরিবর্তন করুন:
sudo gpasswd -a $USER docker
newgrp docker
গোষ্ঠীগুলিতে পরিবর্তনগুলি সক্রিয় করতে হয় বা লগ আউট / ইন করুন।
তুমি ব্যবহার করতে পার
docker run hello-world
আপনি sudo ছাড়া ডকার চালাতে পারেন কিনা তা পরীক্ষা করতে।