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

MySQL Docker কন্টেইনার তৈরি করা: সম্পূর্ণ গাইড

Docker কন্টেইনারাইজেশনের সবচেয়ে বড় সুবিধা হলো এটি অ্যাপ্লিকেশনের জন্য সমস্ত নির্ভরতা সহ একটি আইসোলেটেড এনভায়রনমেন্ট তৈরি করে। MySQL ডাটাবেজ টেস্ট করার জন্য Oracle-এর অফিসিয়াল Docker ইমেজ ব্যবহার করা একটি চমৎকার পছন্দ।

MySQL Docker কন্টেইনার তৈরি

নিচের কমান্ডটি লেটেস্ট MySQL ইমেজ দিয়ে একটি কন্টেইনার তৈরি করে, যেখানে --rm ফ্ল্যাগ কন্টেইনার স্টপ হলে সেটি ওটোমেটিক্যালি ডিলিট করে দেবে (ক্লিনআপ):

sudo docker run --rm --name=mysql-test -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d mysql/mysql-server
  • --rm: কন্টেইনার স্টপ হলে ফাইল সিস্টেম সহ ডিলিট
  • --name: কন্টেইনার নাম
  • -e MYSQL_ALLOW_EMPTY_PASSWORD=yes: রুট পাসওয়ার্ড খালি রাখা
  • -d: ডিট্যাচড মোড (ব্যাকগ্রাউন্ডে)

MySQL শেলে ঢুকা (লোকাল সকেট)

sudo docker exec -it mysql-test mysql -uroot
  • exec -it: ইন্টারঅ্যাক্টিভ টার্মিনাল খোলে
  • mysql -uroot: রুট ইউজার হিসেবে MySQL ক্লায়েন্ট চালায়

TCP/IP কানেকশন সেটআপ (রিমোট অ্যাক্সেস)

ডকার কন্টেইনারকে প্রাইভেট IP অ্যাসাইন করে। ক্লায়েন্ট অ্যাপ্লিকেশন TCP/IP দিয়ে কানেক্ট করতে পারবে।

  1. হোস্টের ডকার নেটওয়ার্ক ইন্টারফেস IP: ip addr show docker0
  2. কন্টেইনারের IP: sudo docker inspect mysql-test | grep IPAddress

তারপর MySQL শেলে রুট ইউজার তৈরি করুন হোস্ট IP দিয়ে:

CREATE USER 'root'@'' IDENTIFIED BY '';
GRANT ALL ON *.* TO 'root'@'' WITH GRANT OPTION;

ক্লিনআপ

টেস্টিং শেষে: sudo docker stop mysql-test (অটোমেটিক রিমুভ হবে --rm ফ্ল্যাগের কারণে)।

সারসংক্ষেপ: এই পদ্ধতিতে হালকা, দ্রুত এবং স্বচ্ছন্দ টেস্টিং এনভায়রনমেন্ট পাওয়া যায় প্রোডাকশন ডাটাবেজ প্রভাবিত না করে।

  1. MySQL-এ Hibernate ব্যবহার করে টেবিল তৈরি

  2. ডকার কন্টেইনারের ভিতরে জাভা অ্যাপ্লিকেশন রান করা

  3. ডকার কন্টেইনার ম্যানেজমেন্টের জন্য পাইথন লাইব্রেরি API (docker-py)

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