🐳 Docker Image ও Container বোঝার জন্য সহজ ব্যাখ্যা (Class এর সাথে তুলনা)

Docker Image হচ্ছে একটি executable ফাইল, যার মধ্যে আমাদের অ্যাপ্লিকেশন রান করার জন্য প্রয়োজনীয় সব instruction, configuration এবং dependency আগে থেকেই সংরক্ষিত থাকে।
অর্থাৎ, আমরা কীভাবে একটি container তৈরি করতে চাই — সেটা পুরোপুরি Docker Image-এর মধ্যে define করে রাখা থাকে।
এটি একপ্রকার স্ট্যাটিক স্ন্যাপশট যা বলে দেয়:
অ্যাপ্লিকেশনের কোড কেমন হবে,
কোন কোন লাইব্রেরি বা dependency দরকার,
এবং container-টি কীভাবে রান করবে।
তুলনা করে ভাবলে:
🔹 Docker Image → একটি রান করার গাইডলাইন সহ ব্লুপ্রিন্ট
🔹 Docker Container → সেই Image থেকে তৈরি হওয়া চলমান environment
🎯 Docker Image vs Class
যেমন Class একটি ব্লুপ্রিন্ট যা বলে দেয় অবজেক্ট দেখতে কেমন হবে,
→ ঠিক তেমনি, Docker Image-ও একটি ব্লুপ্রিন্ট।
আমরা একটি ক্লাস দিয়ে অনেকগুলো অবজেক্ট তৈরি করতে পারি।
→ ঠিক তেমনি, একটি Docker Image দিয়ে অনেক Container তৈরি করা যায়।
Class নিজে কোনো রিসোর্স বা মেমোরি ব্যবহার করে না।
→ অবজেক্ট তৈরি হওয়ার পর সেটি রিসোর্স ব্যবহার করে।
একিভাবে, Docker Image নিজে কোনো সিস্টেম রিসোর্স ব্যবহার করে না।
→ যখন Image থেকে Container তৈরি হয়, তখন সেই Container মেমোরি, CPU, ফাইল সিস্টেম ইত্যাদি ব্যবহার করে।
Container এর মধ্যে একটি লোকাল environment থাকে, যেখানে build process চলে, dependencies থাকে, update ও delete করা যায়।
✅ Conclusion:
Container হচ্ছে Docker Image-এর একটি instance, যেমন object হচ্ছে class-এর একটি instance।
Subscribe to my newsletter
Read articles from Ashik Bhuyan directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Ashik Bhuyan
Ashik Bhuyan
A forward-thinking software engineer. who can work as a web developer in dynamic environments. Strong knowledge of MERN Stack with vast experience in building Web Applications, using React.js, Next.js, and Redux for the client side, Node.js/Express for the server side, and MongoDB, SQL Server for the database.