কম্পিউটার টিউটোরিয়াল

Docker কন্টেইনারে MongoDB ডিপ্লয়: ধাপে ধাপে গাইড

ভূমিকা

সবसे অ্যাক্সেসযোগ্য NoSQL ডেটাবেসগুলির একটি, MongoDB®-এর অনেক ডিপ্লয়মেন্ট অপশন রয়েছে। এই পোস্টে, আমি Docker® ব্যবহার করে MongoDB কে একটি কন্টেইনারের तौरায় ডিপ্লো করব এবং সেই কন্টেইনারের সাথে ইন্টারঅ্যাক্ট করতে শেল ক্লায়েন্ট ব্যবহার করব।

আপনার কম্পিউটার বা সার্ভারে Docker ইনস্টল করার পর, MongoDB কে একটি Docker কন্টেইনারের तौरায় ডিপ্লো করতে নিচের ধাপগুলো অনুসরণ করুন:

  1. সর্বশেষ বা একটি নির্দিষ্ট MongoDB Docker ইমেজ ডাউনলোড করুন।
  2. MongoDB-এর একটি ইনস্ট্যান্স কন্টেইনারের तौरায় ডিপ্লো করুন।
  3. বেসিক শেল অপারেশন দিয়ে MongoDB Docker কন্টেইনারের সাথে ইন্টারঅ্যাক্ট করুন।

MongoDB Docker ইমেজ ডাউনলোড করুন

যদি আপনার কম্পিউটার বা সার্ভারে Docker ইনস্টল করা থাকে, তবে আপনি Docker Hub কন্টেইনার রেজিস্ট্রি থেকে MongoDB ইমেজ পেতে পারেন। আপনি যে স্পেসিফিক ইমেজ ভার্সন ব্যবহার করার আশা করছেন সেটি ডাউনলোড করা নিশ্চিত করুন, যেমন mongo:4.0.4। আপনাকে ইমেজ ভার্সন স্পেসিফাই করতে হবে না, কিন্তু যদি আপনি এটি বাদ দেন, তবে আপনি সবচেয়ে বর্তমান ভার্সন পাবেন, যা একটি অসংগত অভিজ্ঞতা তৈরি করতে পারে কারণ Mongo যেকোনো সময় লেটেস্ট ভার্সন আপডেট করতে পারে।

docker images কমান্ড এক্সিকিউট করলে সার্ভারে উপলব্ধ ইমেজের একটি তালিকা দেয়। আমাদের ক্ষেত্রে, এটি ট্যাগ 4.0.4 সহ MongoDB ইমেজটি ব্যবহার করার জন্য উপলব্ধ দেখায়।

MongoDB ইমেজ ডাউনলোড করতে এবং আপনার উপলব্ধ ইমেজ লিস্ট করতে নিচের কমান্ডগুলো ব্যবহার করুন:

# docker pull mongo:4.0.4
# docker images 
Docker কন্টেইনারে MongoDB ডিপ্লয়: ধাপে ধাপে গাইড

MongoDB-এর একটি ইনস্ট্যান্স কন্টেইনারের तौरায় ডিপ্লো করুন

ডিট্যাচড মোডে, -d, কন্টেইনার শুরু করুন। যেহেতু কন্টেইনারهاéphémères স্টোরেজ ব্যবহার করে, তাই আপনাকে ডেটা রিটেইন করার জন্য একটি ভলিউম, -v, মাউন্ট করতে হবে লোকাল পাথ, /data/db প্রদান করে। এই পাথটি কন্টেইনারের অভ্যন্তরীণ ডিরেক্টরি। এই অ্যাকশনটি হোস্টের /data/db পാതে ডেটা সংরক্ষণ করে এমনকি আপনি কন্টেইনার বন্ধ বা মুছে ফেললে। কমান্ডে, আপনার কন্টেইনারের জন্য একটি নাম, --name, প্রদান করুন তারপর Docker ইমেজ এবং একটি ট্যাগ। এই ক্ষেত্রে, আমি ট্যাগের জন্য mongo:4.0.4 ব্যবহার করেছি। কমান্ডটি কন্টেইনারের আইডি সহ একটি স্ট্রিং রিটার্ন করে। Docker ps কমান্ড রানিং কন্টেইনারদের তালিকা দেখায়।

# docker run -d -v /data/db:/data/db --name mymongo mongo:4.0.4
# docker ps 
Docker কন্টেইনারে MongoDB ডিপ্লয়: ধাপে ধাপে গাইড

শেল দিয়ে MongoDB Docker কন্টেইনারের সাথে ইন্টারঅ্যাক্ট করুন

একটি ফাংশনাল MongoDB ডিপ্লয়মেন্টের সুবিধা নেওয়ার জন্য, আপনি শেল ক্লায়েন্ট ব্যবহার করে ডেটাবেসের সাথে ইন্টারঅ্যাক্ট করতে পারেন।

যেহেতু আপনি কন্টেইনারটি ডিট্যাচড মোডে রান করছেন, তাই আপনাকে ইন্টারঅ্যাক্টিভ টার্মিনাল ব্যবহার করে কানেক্ট করা উচিত। আপনার ডিপ্লয়মেন্টের সাথে কানেক্ট হতে, যার নাম mymongo, এবং bash শেল শুরু করতে নিচের কমান্ড ব্যবহার করুন:

# docker exec -it mymongo bash 
Docker কন্টেইনারে MongoDB ডিপ্লয়: ধাপে ধাপে গাইড

MongoDB শেল ক্লায়েন্ট চালু করতে নিচের কমান্ড রান করুন:

# mongo 
Docker কন্টেইনারে MongoDB ডিপ্লয়: ধাপে ধাপে গাইড

MongoDB শেল ক্লায়েন্ট থেকে, আপনি MongoDB ডকুমেন্টেশনে আউटलাইন করা সব ফাংশন অ্যাক্সেস করতে পারেন। উদাহরণস্বরূপ, আপনি নিচের কমান্ড দিয়ে আপনার ইনস্ট্যান্সে কোন ডেটাবেস আছে তা দেখতে পারেন:

> show dbs 
Docker কন্টেইনারে MongoDB ডিপ্লয়: ধাপে ধাপে গাইড

উপসংহার

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

আশা করি এই পোস্ট আপনাকে একটি MongoDB ইনস্ট্যান্স চালু করে রান করার এবং মিনিটों içinde এর সাথে কাজ শুরু করার একটি সাধারণ ধারণা দিয়েছে।

ফিডব্যাক ট্যাব ব্যবহার করে যেকোনো মন্তব্য বা প্রশ্ন করুন। আপনি এখন চ্যাট শুরু করতে পারেন।

আমাদের ডেটাবেস সার্ভিস সম্পর্কে আরও জানুন

  1. MongoDB Compass আবিষ্কার করুন: সিমলেস ডেটা ম্যানেজমেন্টের জন্য আপনার ভিজ্যুয়াল টুল

  2. মঙ্গোডিবিতে কোড ইনজেকশন আটাক রোধ: একটি ডেভেলপার গাইড

  3. MongoDB-এ অনব্যবহৃত ইনডেক্স শনাক্ত করা: সর্বোত্তম পারফরম্যান্সের জন্য

  4. ডকার ডেস্কটপ: স্মুথ কন্টেইনার ম্যানেজমেন্টের জন্য সহজ GUI