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 দিয়ে কানেক্ট করতে পারবে।
- হোস্টের ডকার নেটওয়ার্ক ইন্টারফেস IP:
ip addr show docker0 - কন্টেইনারের 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 ফ্ল্যাগের কারণে)।
সারসংক্ষেপ: এই পদ্ধতিতে হালকা, দ্রুত এবং স্বচ্ছন্দ টেস্টিং এনভায়রনমেন্ট পাওয়া যায় প্রোডাকশন ডাটাবেজ প্রভাবিত না করে।