রুটলেস ডকার

Rutalesa Dakara



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

যাইহোক, ডকারে কাজ করার সময়, আমরা এমন উদাহরণগুলির সম্মুখীন হতে পারি যেখানে আমাদের ডকার সংস্থান তৈরি এবং ব্যবহার করতে হবে কিন্তু রুট অ্যাক্সেস নেই।

অথবা সম্ভবত আপনি সমস্ত ব্যবহারকারীর রুট অনুমতি না দিয়ে একটি প্রদত্ত সিস্টেমে একাধিক ব্যবহারকারীকে ডকার অ্যাক্সেস এবং ব্যবহার করার অনুমতি দিতে চান।







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



একটি রুটলেস ডকার কি?

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



রুটলেস ডকার হল এমন একটি বৈশিষ্ট্য যা আমাদেরকে রুট অনুমতি ছাড়াই ডকার ডেমন এবং সংশ্লিষ্ট কন্টেইনারগুলি ব্যবহার এবং চালানোর অনুমতি দেয়।





কিভাবে এটা কাজ করে

যদিও এটি একটি রুটহীন ডকার পরিবেশের প্রযুক্তিগত কাজের মধ্যে ডুব দেওয়া চ্যালেঞ্জিং হতে পারে, নিম্নলিখিতটি একটি উচ্চ-স্তরের ওভারভিউ যা ব্যাখ্যা করে যে একটি রুটহীন ডকার কী করে এবং কীভাবে এটি হুডের নীচে কাজ করে।

ব্যবহারকারীর নামস্থান - রুটবিহীন ডকার যে উল্লেখযোগ্য বৈশিষ্ট্যগুলি ব্যবহার করে তা হল ব্যবহারকারীর নামস্থান। লিনাক্স কার্নেলের এই মৌলিক বৈশিষ্ট্যটি প্রসেসকে বাইরের তুলনায় নেমস্পেসের ভিতরে বিভিন্ন ব্যবহারকারী এবং গ্রুপ আইডি থাকতে দেয়। এর মানে হল যে একটি প্রক্রিয়া তার নামস্থানের ভিতরে রুট ব্যবহারকারী হিসাবে চলতে পারে, কিন্তু এর বাইরে, এটি একটি নিয়মিত ব্যবহারকারী হিসাবে চলে।



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

ডকার slirp4netns এর মতো বৈশিষ্ট্যগুলির সুবিধা নেয়, যা একটি রুটহীন ডকারে একটি ব্যবহারকারী-মোড TCP/IP স্ট্যাক প্রদান করে। এটি হোস্ট সিস্টেমে রুট অনুমতি ছাড়াই নেটওয়ার্ক অ্যাক্সেস করতে ডকারকে সক্ষম করে।

স্টোরেজ - রুটহীন ডকারের পরবর্তী অপরিহার্য অংশ হল স্টোরেজ ড্রাইভার। ডিফল্টরূপে, ডকার একটি ওভারলে 2 স্টোরেজ ড্রাইভার ব্যবহার করে, যা আপনি অনুমান করতে পারেন, রুট অনুমতি প্রয়োজন। পরিবর্তে, একটি রুটহীন ডকার উদাহরণ ফিউজ-ওভারলেফস ড্রাইভার ব্যবহার করে। এই ড্রাইভারটি FUSE ওভারলে fs-এর উপর ভিত্তি করে তৈরি, যা আমাদের রুট অনুমতি ছাড়াই এটি মাউন্ট করতে দেয়।

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

রুটলেস ডকার - প্রয়োজনীয়তা

আসুন আমরা তত্ত্ব থেকে সরে যাই এবং শিখি কিভাবে একটি রুটহীন ডকার পরিবেশ তৈরি এবং কনফিগার করতে হয়।

এই পোস্টটি অনুসরণ করতে, নিশ্চিত করুন যে আপনার নিম্নলিখিতগুলি রয়েছে:

  1. রুট অনুমতি সহ একটি লিনাক্স-ভিত্তিক সিস্টেম।
  2. নেটওয়ার্কের প্রবেশাধিকার.

UIDMap দিয়ে সিস্টেম কনফিগার করা হচ্ছে

ডকার ইনস্টল এবং কনফিগার করার আগে, আমাদের অবশ্যই uidmap ইউটিলিটি সহ সিস্টেমটি ইনস্টল এবং কনফিগার করতে হবে।

UIDMap আমাদের ব্যবহারকারীর নামস্থানের বিষয়বস্তুতে একটি লিনাক্স সিস্টেমে প্রক্রিয়াগুলির UID এবং GUI ম্যাপিং পরিচালনা করতে দেয়। মনে রাখবেন যখন আমরা উল্লেখ করেছি যে রুটহীন ডকার ব্যবহারকারীর নামস্থানের সুবিধা নেয়? এই টুলটি আমাদের UID এবং GID ম্যাপিং এবং তাদের সংশ্লিষ্ট নামস্থান নির্দিষ্ট করার অনুমতি দেবে।

নিম্নরূপ সিস্টেম প্যাকেজ রিফ্রেশ করে শুরু করুন:

$ sudo apt-আপডেট পান

পরবর্তী, দেখানো হিসাবে uidmap ইউটিলিটি ইনস্টল করুন:

$ sudo apt- get install uidmap -এবং

রুটলেস ডকার ইনস্টল করা হচ্ছে

পরবর্তী ধাপ হল রুটলেস ডকার প্রক্রিয়া এবং ইনস্টল করা। আমরা নীচে বর্ণিত সহজ পদক্ষেপগুলি অনুসরণ করে এটি করতে পারি:

নীচে দেখানো লিঙ্ক থেকে রুটলেস ডকার ইনস্টলার স্ক্রিপ্ট ডাউনলোড করে শুরু করুন:

https://get.docker.com/rootless

আপনি curl বা WGET ব্যবহার করতে পারেন।

$ কার্ল -sSL https: // get.docker.com / মূলহীন |

মনে রাখবেন যে আপনি রুট ব্যবহারকারী হিসাবে উপরের কমান্ডটি চালাতে পারবেন না।

ইনস্টলেশন সম্পূর্ণ হলে, আপনার প্রিয় পাঠ্য সম্পাদক ব্যবহার করে আপনার .bashrc ফাইলটি সম্পাদনা করুন:

$ ন্যানো .bashrc

এরপরে, bashrc কনফিগারেশন ফাইলে নিম্নলিখিত এন্ট্রি যোগ করুন:

রপ্তানি XDG_RUNTIME_DIR = / বাড়ি / উবুন্টু / ডকার / চালান

রপ্তানি PATH = / বাড়ি / উবুন্টু / বিন: $PATH

রপ্তানি DOCKER_HOST =ইউনিক্স: /// বাড়ি / উবুন্টু / ডকার / চালান / ডকার.সক

আপনি ডকার ইনস্টল করতে চান এমন ব্যবহারকারীকে 'উবুন্টু' থেকে ব্যবহারকারীকে পরিবর্তন করতে ভুলবেন না। স্ক্রিপ্ট আউটপুট আপনাকে .bashrc ফাইলে যোগ করার বিষয়বস্তু দেবে।

পরিবর্তনগুলি সংরক্ষণ করুন এবং সম্পাদক বন্ধ করুন।

পরবর্তী ধাপে, আমাদের রুটহীন ডকার ডেমন শুরু করতে হবে। নীচের কমান্ডে দেখানো হিসাবে আমরা systemctl ব্যবহার করে এটি করতে পারি:

systemctl --উবুন্টু ডকার শুরু করুন

একবার শুরু হলে, আপনি ডকার কন্টেনারগুলি শুরু এবং কনফিগার করতে ডকার কমান্ডগুলি ব্যবহার করতে পারেন।

উপসংহার

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