13 Working with Docker Containerization

একটি Docker Container কি?
Docker Container কী তা নিয়ে আলোচনা করার আগে, আমাদের এক ধাপ পিছিয়ে যেতে হবে এবং Docker কী তা নিয়ে কথা বলতে হবে। Docker ডেভেলপারদের জন্য একটি ওপেন সোর্স প্ল্যাটফর্ম। Docker সাথে, অ্যাপ্লিকেশনটি তার সমস্ত নির্ভরতা সহ, পাত্রে আকারে প্যাকেজ করা যেতে পারে। এই সিস্টেমের সাথে, প্রতিটি অ্যাপ্লিকেশন একটি বিচ্ছিন্ন পরিবেশে কাজ করতে পারে: প্রতিটি ধারক স্বাধীন এবং তার নির্ভরতা এবং লাইব্রেরি সহ অ্যাপ্লিকেশন রয়েছে। অ্যাপ্লিকেশনগুলি, এইভাবে, একে অপরের সাথে হস্তক্ষেপ করবে না এবং বিকাশকারী তাদের প্রতিটিতে স্বাধীনভাবে কাজ করতে পারে। দলগত কাজের ক্ষেত্রে Docker Container গুরুত্বপূর্ণ এবং সহায়ক।একজন বিকাশকারী, উদাহরণস্বরূপ, একটি ধারক তৈরি করতে পারে এবং এটি দলের কাছে প্রেরণ করতে পারে। দলটি প্রথম প্রোগ্রামার দ্বারা বিকশিত সমগ্র পরিবেশের প্রতিলিপি করে ধারকটি চালাতে সক্ষম হবে।
ডকার আর্কিটেকচার
ডকার একটি ক্লায়েন্ট-সার্ভার আর্কিটেকচার স্থাপন করে যা নিম্নলিখিত “ইট” এর সাথে কাজ করে:
Docker Daemon: এটি Docker ক্লায়েন্টের অনুরোধ শোনে এবং কন্টেইনার এবং ছবি এবং ভলিউম এবং নেটওয়ার্কের মতো বস্তুগুলি পরিচালনা করে।
Docker ক্লায়েন্ট: ব্যবহারকারী Docker প্ল্যাটফর্মের সাথে কীভাবে যোগাযোগ করে।
ডকার হাব: এটি একটি রেজিস্ট্রি (রেজিস্ট্রি সঞ্চয় চিত্র, নীচে দেখুন) যা সর্বজনীন, যার অর্থ যে কোনও ডকার ব্যবহারকারী এটি অ্যাক্সেস করতে এবং সেখানে চিত্রগুলি অনুসন্ধান করতে পারে। ডকার ডিফল্ট ডকার হাবে চিত্রগুলি সন্ধান করবে, তবে আপনি একটি ব্যক্তিগত রেজিস্ট্রি সেট আপ এবং ব্যবহার করতে পারেন।
Docker ইমেজ: তারা কন্টেইনার তৈরির জন্য টেমপ্লেট। ধারক চিত্রগুলি কিছু কাস্টমাইজেশন সহ অন্যান্য ধারক চিত্রগুলির উপর ভিত্তি করে করা যেতে পারে। অন্যান্য ব্যবহারকারীদের দ্বারা তৈরি করা এবং সর্বজনীন রেজিস্ট্রিতে উপলব্ধ ছবিগুলি ব্যবহার করা ছাড়া, আপনি আপনার ছবিগুলি তৈরি করতে পারেন এবং সেগুলিকে আপনার ব্যক্তিগত রেজিস্ট্রিতে সংরক্ষণ করতে পারেন বা সেগুলিকে একটি সর্বজনীনে ভাগ করতে পারেন৷
Docker কন্টেইনার: এগুলি কন্টেইনার ইমেজগুলির চালানোযোগ্য উদাহরণ। প্রতিটি চলমান ধারক অন্য সব থেকে ভালভাবে বিচ্ছিন্ন, কিন্তু আপনি আপনার অ্যাপ্লিকেশন তৈরি করতে তাদের একত্রিত করতে পারেন। কন্টেইনারগুলিকে বিচ্ছিন্ন চলমান সফ্টওয়্যার হিসাবে বা একই অ্যাপ্লিকেশনের বিল্ডিং ব্লক হিসাবে দেখা যেতে পারে।
এখন যেহেতু আপনি জানেন যে সবকিছু কী এবং কী করে, আপনি Docker আর্কিটেকচারটি আরও ভালভাবে বুঝতে পারবেন: আমাদের কাছে Docker ক্লায়েন্ট রয়েছে যেটি ডকার ডেমনের সাথে “কথা বলে”, যেটি Docker Container তৈরি এবং চালানোর সাথে কাজ করে। ডকার ক্লায়েন্ট, বিশেষ করে, নেটওয়ার্ক ইন্টারফেস বা UNIX সকেটের মাধ্যমে একটি REST API ব্যবহার করে Docker Daemon সাথে যোগাযোগ করে। একজন ডকার ক্লায়েন্ট একাধিক Docker Daemon সাথে যোগাযোগ করতে পারে।
কেন আমাদের একটি Docker ধারক প্রয়োজন?
ডকার কন্টেইনারগুলির ভিত্তি এবং তাদের স্থাপনার নীতি হল কন্টেইনারাইজেশন। এর গুরুত্ব এবং সুবিধাগুলি বোঝার জন্য, ধারককরণ ছাড়াই একটি উন্নয়নশীল দৃশ্যকল্প বর্ণনা করা কার্যকর হতে পারে।কন্টেইনারাইজেশনের আগে বিকাশকারীরা সর্বদা বিচ্ছিন্ন পরিবেশে অ্যাপ্লিকেশনগুলিতে কাজ করতে চায় যাতে তারা একে অপরের সাথে হস্তক্ষেপ না করে। কন্টেইনারাইজেশনের আগে, অ্যাপ্লিকেশনগুলি এবং তাদের নির্ভরতাগুলিকে আলাদা করার একমাত্র উপায় ছিল তাদের প্রতিটিকে একটি পৃথক ভার্চুয়াল মেশিনে স্থাপন করা।
এইভাবে, অ্যাপ্লিকেশনগুলি একই হার্ডওয়্যারে চলে; বিচ্ছেদ ভার্চুয়াল। ভার্চুয়ালাইজেশনের অবশ্য অনেক সীমা আছে (বিশেষত যখন আমরা এটিকে কন্টেইনারাইজেশনের সাথে তুলনা করি তখন আমরা আবিষ্কার করতে যাচ্ছি)। প্রথমত, ভার্চুয়াল মেশিনগুলি আকারে বড়। দ্বিতীয়ত, একাধিক ভার্চুয়াল মেশিন চালানো তাদের প্রতিটির কর্মক্ষমতাকে অস্থির করে তোলে।
আপডেট, পোর্টেবিলিটি এবং ইন্টিগ্রেশনের ক্ষেত্রে ভার্চুয়াল মেশিনের ব্যবহার সম্পর্কিত অন্যান্য সমস্যাও রয়েছে এবং বুটআপ প্রক্রিয়া কখনও কখনও খুব সময়সাপেক্ষ হতে পারে। এই সমস্যাগুলি ডেভেলপারদের সম্প্রদায়কে একটি নতুন সমাধান তৈরি করতে ঠেলে দিয়েছে৷ এবং নতুন সমাধান হল কন্টেইনারাইজেশন।
Docker সুবিধা
ডকার কন্টেইনার হল একটি প্ল্যাটফর্ম যা আপনাকে কন্টেইনারাইজেশন শোষণ করতে দেয় যেমনটি আমরা বর্ণনা করেছি। যদি আমাদের ডেভেলপারদের জন্য এটির সমস্ত সুবিধা একত্রিত করতে হয় তবে সেগুলি নিম্নরূপ হবে।
বিচ্ছিন্ন পরিবেশ এবং একাধিক পাত্রে
ডকার আপনাকে কেবল একে অপরের থেকে বিচ্ছিন্ন এবং একে অপরকে বিরক্ত না করে কাজ করতে সক্ষম কন্টেইনারগুলি তৈরি এবং সেট আপ করার অনুমতি দেয় না, তবে এটি আপনাকে একই সময়ে এবং একই হোস্টে একাধিক কন্টেইনার সেট আপ করার অনুমতি দেয়। একাধিক পাত্রের প্রতিটিকে শুধুমাত্র নির্ধারিত সম্পদ অ্যাক্সেস করার অনুমতি দেওয়া হয়। তদ্ব্যতীত, আপনার আর প্রয়োজন নেই এমন একটি অ্যাপ্লিকেশন মুছে ফেলার প্রক্রিয়াটিও সহজ: আপনাকে কেবল এটির ধারকটি বাদ দিতে হবে।
স্থাপনার গতি
এটির মতো গঠন করা হচ্ছে (আগের অনুচ্ছেদটি দেখুন), ডকার অ্যাপ্লিকেশন স্থাপনার প্রক্রিয়াটিকে অনেক দ্রুত করে তোলে (বিকল্পের তুলনায়, যা ভার্চুয়াল মেশিন ব্যবহার করছে)। ডকার কন্টেইনারগুলি এত ভাল পারফর্ম করতে পারে তার কারণ হল যে ডকার প্রতিটি প্রক্রিয়ার জন্য একটি আলাদা ধারক তৈরি করে যাতে ডকার কন্টেইনারগুলি অপারেটিং সিস্টেমে বুট না হয়।
নমনীয়তা এবং মাপযোগ্যতা
ডকার কন্টেইনার আপনার অ্যাপ্লিকেশনগুলিতে পরিবর্তন করার প্রক্রিয়াটিকে অনেক সহজ করে তোলে। এটি কারণ যখন আপনাকে একটি অ্যাপ্লিকেশনে হস্তক্ষেপ করার প্রয়োজন হয়, আপনি কেবল এটির ধারকটি অ্যাক্সেস করতে পারেন এবং এটি অন্য সকলকে কোনোভাবেই প্রভাবিত করবে না। ডকার কম্পোজ কমান্ড টুল (নিম্নলিখিত অনুচ্ছেদ দেখুন) অন্য কোনো অ্যাপ্লিকেশন ডেভেলপমেন্ট পদ্ধতির সাথে অসম্ভব উপায়ে নমনীয়তা এবং মাপযোগ্যতা বাড়ায়।
বহনযোগ্যতা
সফ্টওয়্যার পাত্রে তৈরি করা অ্যাপ্লিকেশনগুলি অত্যন্ত ভাল বহনযোগ্য। যতক্ষণ হোস্ট অপারেটিং সিস্টেম ডকারকে সমর্থন করে ততক্ষণ ডকার কন্টেইনারগুলি যে কোনও প্ল্যাটফর্মে চলতে পারে। যখন আপনি কন্টেইনারের মধ্যে আপনার অ্যাপ্লিকেশন তৈরি করেন, আপনি এটিকে ডকার সমর্থন করে এমন যেকোনো প্ল্যাটফর্মে স্থানান্তর করতে পারেন এবং এটি তাদের সকলের সাথে একইভাবে কাজ করবে।
নিরাপত্তা
ডকার পাত্রে নিরাপত্তা উন্নত কারণ:
একটি অ্যাপ্লিকেশন (এবং এর সম্ভাব্য সমস্যা) অন্য কোনোকে প্রভাবিত করে না।
বিকাশকারীর ট্রাফিক কোর্সের উপর সম্পূর্ণ নিয়ন্ত্রণ রয়েছে।
প্রতিটি চলমান পাত্রে সম্পদের একটি পৃথক সেট বরাদ্দ করা হয়।
অনুমোদন ছাড়া একটি অ্যাপ্লিকেশন অন্য অ্যাপ্লিকেশনের ডেটা অ্যাক্সেস করতে পারে না।

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *