পরিচিতিঃ
ডকার (Docker) বর্তমান যুগে টেক ডেভল্পমেন্টের সাথে জড়িয়ে আছে বহুল পরিচিত এই ডকার। বর্তমান ক্লাউড কম্পিউটিং, সিআই/সিডি (CI/CD), ডেভওপ্স (DevOps), মাইক্রোসার্ভিস - নিয়ে বিভিন্ন আর্টিকেল-ব্লগ, টেক ভিডিও ও টিটোরিয়াল দেখা যায়।
ডকার একটি ওপেন সোর্স প্ল্যাটফর্ম যা কন্টেইনার (Container) ভিত্তিক সফটওয়্যার ডেভেলপমেন্ট এবং ডেপ্লয়মেন্টের জন্য ব্যবহৃত হয়। সহজ ভাষায় বলতে গেলে, ডকার একটি ভার্চুয়ালাইজড পরিবেশ তৈরি করে যেখানে অ্যাপ্লিকেশন এবং তাদের ডিপেন্ডেন্সি একসাথে প্যাকেজ করা যায় এবং যে কোনো সিস্টেমে চালানো যায়। এটি ডেভেলপারদের জন্য সফটওয়্যার ডেভেলপমেন্ট অনেক সহজ করে দেয়। অনেক সময় ‘ভার্চুয়ালাইজড’ বলতে ডকার কে ভারচ্যুয়াল মেশিন মনে করে।
যেমনঃ অনেক ক্ষেত্রে লগ দেখা অনেক জরুরী হয়ে পরে অনেক আইডিইতে রানটাইমে ভালো ভাবে লগ দেখা যায় না। আরো ভাল করে বলতে হলে আপনার সাথে এমন হয়ত হয়েছে, যে আপনি কোন একটি এক্সসেপশন হ্যান্ডেল করেন নাই। এখন এক্সসেপশন কারণে পুরা সার্ভার ক্রাশ করেছে। যেই টুলস বা আইডিই বা সফটওয়্যার দিয়ে সার্ভার রানিং রেখেছিলেন সেটিও ক্লোজ হয়ে গিয়েছে। কেন ফুল সার্ভার সহ আইডিই রানটাইম এ্যারোর এর জন্য বন্ধ হয়ে গেল? এমন সময় বাগ খুঁজতে অনেক সময় লেগে যায়। এ সকল ক্ষেত্রে ডকারে প্রতিটা সেকেন্ডের লগ দেখা যায় প্রতি সেকেন্ডে অপারেশন গুলার লগ প্রিন্ট করতে থাকে।
কেন ডকার ব্যবহার করবেন?
আমরা যখন কোনো সফটওয়্যার বা অ্যাপ্লিকেশন লোকাল মেশিনে (পিসি/ল্যাপটপে) ইন্সটল করি, তখন বিভিন্ন সমস্যা হতে পারে যেমনঃ
১. ডিপেন্ডেন্সি কনফ্লিক্ট: বিভিন্ন সফটওয়্যারের ডিপেন্ডেন্সি (যেমনঃ লাইব্রেরি, ফ্রেমওয়ার্ক) আলাদা হতে পারে। একটি সফটওয়্যার ইন্সটল করার পরে অন্যটির সাথে কনফ্লিক্ট হতে পারে। উইন্ডোজ ইউজাদের মধ্যে এনভ্যারমেন্টে পাথ এ্যাড, পারমিশন দেওয়া অনেকের কাছে সময় সাপেক্ষ।
২. পোর্টেবিলিটি সমস্যা: আপনার লোকাল মেশিনে ইন্সটল করা অ্যাপ্লিকেশন অন্য কোনো মেশিনে সরাসরি চালানো যাবে না, কারণ সিস্টেমের কনফিগারেশন এবং পরিবেশ আলাদা হতে পারে। এবং অনেক সময় ডেলিভারি করার পর অন্য মেশিনে না রান করা।
৩. বেশি স্পেস এবং রিসোর্স ব্যবহার: একাধিক সফটওয়্যার এবং তাদের ডিপেন্ডেন্সি ইন্সটল করা হলে আপনার সিস্টেমের স্পেস এবং মেমোরি বেশি ব্যবহার হবে।
ডকারের মাধ্যমে, আপনি এই সমস্যাগুলি সহজেই সমাধান করতে পারেন। এটি একটি কন্টেইনারে সবকিছু প্যাকেজ করে যা যে কোনো সিস্টেমে একইভাবে কাজ করে।
ডকার কীভাবে কাজ করে?
ডকার কন্টেইনার তৈরি করার জন্য একটি ইমেজ (Image) ব্যবহার করে। ডকার ইমেজ (Docker Image) হলো একটি রিড-অনলি টেমপ্লেট যা নির্দেশ করে কীভাবে একটি কন্টেইনার তৈরি হবে। ইমেজে অ্যাপ্লিকেশন এবং তাদের ডিপেন্ডেন্সি সহ একটি অপারেটিং সিস্টেমের হালকা সংস্করণ থাকে। ইমেজ থেকে কন্টেইনার তৈরি করা হয় এবং এটি সেই কন্টেইনারকে আলাদাভাবে চালায়।
ডকারের মূল কাজ করে:
১. ডকার ইমেজ (Docker Image): একটি ইমেজ হলো একটি টেমপ্লেট যা কন্টেইনার তৈরি করতে ব্যবহৃত হয়। ইমেজ থেকে এক বা একাধিক কন্টেইনার তৈরি করা যায়।
২. ডকার কন্টেইনার (Docker Container): কন্টেইনার হলো একটি রানটাইম ইন্সট্যান্স যা ইমেজ থেকে তৈরি হয়। এটি একটি আইসোলেটেড পরিবেশে চলে, যেখানে অ্যাপ্লিকেশন এবং তাদের ডিপেন্ডেন্সি থাকে।
৩. ডকার হাব (Docker Hub): ডকার হাব হলো একটি পাবলিক রেজিস্ট্রি যেখানে ইমেজগুলো পাবলিক অথবা প্রাইভেট রাখা হয়। আপনি চাইলে নিজের ইমেজ তৈরি করে ডকার হাবে রাখতে পারেন বা ডকার হাব থেকে বিভিন্ন ইমেজ ডাউনলোড করে ব্যবহার করতে পারেন।
শেষে:
ডকার একটি শক্তিশালী টুল যা ডেভেলপারদের জন্য কাজের গতি বাড়ায় এবং অ্যাপ্লিকেশন ডেপ্লয়মেন্ট সহজ করে তোলে। এটি একই পরিবেশে ডেভেলপমেন্ট এবং প্রোডাকশন চালানো যায়, কম রিসোর্স ব্যবহার করে এবং দ্রুত কন্টেইনার তৈরি ও পরিচালনা করতে সক্ষম। ডকারের মাধ্যমে আপনি কোনো অ্যাপ্লিকেশন বা সফটওয়্যার কন্টেইনারে প্যাকেজ করে ইন্সটল করতে পারেন, যা একবার তৈরি করে যে কোনো সিস্টেমে চালানো যায়।
ধন্যবাদ আপনাকে, এতদূর পড়ার জন্য।