4 min read
Docker Deep Dive (Part 1): ডকার কি?

ডকার কি ও কেন?

ডকার বুঝতে হলে আগে জানতে হবে এর ইতিহাস—ডকার কোথা থেকে এসেছে, কীভাবে এর ধারণা জন্ম নিয়েছে, এবং ঠিক কীভাবে এই প্রযুক্তিটি কাজ করে।

Load Ship

ডকারের মূল ধারণা এসেছে ১৯ শতকের জাহাজ পরিবহনের ইতিহাস থেকে। সেই সময় জাহাজে মালামাল লোড ও আনলোড করা ছিল ধীর, জটিল এবং ব্যয়বহুল। পণ্যগুলো ব্যারেল, বস্তা বা কাঠের বাক্সে বহন করা হত, যা পরিচালনা করা কঠিন ছিল।

১৯৫৬ সালে আমেরিকান ব্যবসায়ী ম্যালকম ম্যাকলিন (Malcolm McLean) শিপিং কনটেইনার উদ্ভাবন করেন। এই কনটেইনারের মাধ্যমে পণ্য পরিবহন দ্রুত, নিরাপদ এবং সাশ্রয়ী হয়ে ওঠে।

এই ধারণাই পরে সফটওয়্যার জগতে “ডকার কনটেইনার” হিসেবে জন্ম নেয়। কিভাবে “ডক” ও “কনটেইনার” এর মধ্যে সম্পর্ক তৈরি হয়েছে, তা পরবর্তী অংশে দেখানো হবে।

Container

Dock মানে জাহাজ ঘাট, যেখানে মালামাল লোড ও আনলোড হয়। যারা এখানে কাজ করে, তাদের বলা হয় Dockers

প্রযুক্তিতে Docker হলো একটি প্ল্যাটফর্ম, যা কনটেইনার ব্যবস্থাপনার জন্য একাধিক টুল দেয়। এর মাধ্যমে অ্যাপ্লিকেশন সহজে বিল্ড, শিপরান করা যায়—একদম যেভাবে বাস্তবে ডকেররা ঘাটে কনটেইনার ম্যানেজ করে।


কেন প্রযুক্তিতে Docker দরকার?

ভাবুন, আপনি আপনার কম্পিউটারে একটি পাইথন অ্যাপ বানালেন যা Python 3.11 ব্যবহার করছে। অ্যাপের কোডে এমন ফিচার থাকতে পারে যা শুধুমাত্র 3.11 এ কাজ করে, যেমন নতুন সিনট্যাক্স বা লাইব্রেরি ফাংশন।

এখন যদি আপনার বন্ধু সেই অ্যাপ চালাতে চায়, কিন্তু তার কম্পিউটারে Python 3.9 আছে, তাহলে সমস্যা দেখা দেয়। অ্যাপ ঠিকমতো চলবে না, এরর আসবে বা ভুল আউটপুট দিতে পারে।

এটি হচ্ছে compatibility সমস্যা—অর্থাৎ অ্যাপ এবং সিস্টেমের পরিবেশ একে অপরের সাথে মিলছে না। এছাড়াও, যদি অ্যাপের জন্য কিছু নির্দিষ্ট লাইব্রেরি বা প্যাকেজ লাগে যা বন্ধুর কম্পিউটারে নেই, তবে dependency conflict দেখা দেবে।

এই সমস্যা এত বড় যে অনেক ইঞ্জিনিয়ারের জীবন একেবারে অতিষ্ঠ হয়ে গিয়েছিল। এর সমাধান আনেন Solomon Hykes

২০১০ সালে তিনি DotCloud নামের একটি কোম্পানি তৈরি করেন। তাদের টিম একটি ইন্টারনাল টুল বানায়, যা ২০১৩ সালে একটি কনফারেন্সে মাত্র ৫ মিনিটের বক্তৃতায় সারা বিশ্বের সামনে দেখানো হয়। সবাই অবাক হয়, হাইপ ছড়ায়, এবং প্রজেক্টটি ওপেন সোর্স করা হয়। এই টুলের নাম হয় Docker

Hykes

Solomon Hykes shows Docker to the public YouTube


Docker কনটেইনার কীভাবে কাজ করে?

Docker অ্যাপ্লিকেশনকে একটি বিশেষ প্যাকেজে ভরে রাখে, যাকে বলা হয় কনটেইনার। কন্টেইনারের ভিতরে থাকে:

  • অপারেটিং সিস্টেম
  • আপনার তৈরি সফটওয়্যার
  • সব প্রয়োজনীয় লাইব্রেরি ও ডিপেন্ডেন্সি

এটি নিশ্চিত করে যে অ্যাপ যেকোনো কম্পিউটার বা সার্ভারে—Windows বা Linux—একইভাবে কাজ করবে।

কিভাবে কন্টেইনার তৈরি হয়: এটি একটি Docker ইমেজ থেকে তৈরি হয়। ইমেজ হলো কনটেইনারের ব্লুপ্রিন্ট, যা অ্যাপের সব ডিপেন্ডেন্সি ও পরিবেশগত সেটআপ ধারণ করে। কন্টেইনার সেই ইমেজ ব্যবহার করে রান হয় এবং সব জায়গায় একদম একইভাবে কাজ করে।


বাস্তব জীবন vs Docker প্রযুক্তি

  • বাস্তব জগৎ (ডক/পোর্ট): মালামাল লোড-আনলোড করা হয়, কনটেইনারে প্যাক করা হয় এবং ট্র্যাক বা পরিবহন করা যায়।
  • প্রযুক্তি (Docker): অ্যাপ্লিকেশন লোড-আনলোড করা হয়, কনটেইনারে প্যাক করা হয় এবং যেকোনো সার্ভার বা কম্পিউটারে একইভাবে চালানো যায়।

সহজভাবে, ডকের কাজ বাস্তব মালামাল ম্যানেজমেন্টের মতো, শুধু এখানে পণ্য নয়, অ্যাপ্লিকেশনই হচ্ছে “পণ্য”

Docker Logo

বর্তমান বিশ্বে Google, Microsoft, Apple, Amazon—সব বড় কোম্পানি Docker ব্যবহার করে। Docker-এর জনপ্রিয়তা থেকে অনুপ্রাণিত হয়ে ২০১৪ সালে Google নিয়ে আসে Kubernetes, যা Docker-এর উপর রান করে। Docker এতই ফেমাস হয় যে DotCloud কোম্পানির নাম পরিবর্তন করে Docker, Inc করা হয়।

উপরের ছবিটি হলো Docker-এর অফিসিয়াল লোগো