Docker Compose হল একটি টুল যা একাধিক Docker কন্টেইনারকে একসাথে পরিচালনা করার জন্য ব্যবহৃত হয়। এটি একটি YAML ফাইল (অর্থাৎ docker-compose.yml) ব্যবহার করে, যেখানে অ্যাপ্লিকেশনের সমস্ত কন্টেইনারের কনফিগারেশন, নেটওয়ার্কিং, ভলিউম, এবং পরিবেশের সেটিংস উল্লেখ করা হয়। Docker Compose ব্যবহারের মাধ্যমে ডেভেলপাররা সহজেই একাধিক কন্টেইনারের জন্য একটি কোড-বেস তৈরি করতে পারেন এবং একটি অ্যাপ্লিকেশনকে আরও সুসংগঠিতভাবে পরিচালনা করতে পারেন।
Docker Compose-এর মূল বৈশিষ্ট্য
বহু-কন্টেইনার ব্যবস্থাপনা: Docker Compose ব্যবহার করে একটি বা একাধিক কন্টেইনার সহজেই পরিচালনা করা যায়। উদাহরণস্বরূপ, একটি অ্যাপ্লিকেশন, একটি ডেটাবেস, এবং একটি ক্যাশ সার্ভার সব কন্টেইনারের মধ্যে একত্রিত করা যায়।
সার্ভিস ডিফিনিশন: Compose ফাইলে প্রতিটি সার্ভিসের জন্য নির্দিষ্ট কনফিগারেশন দেওয়া হয়, যেমন ইমেজ, নেটওয়ার্ক, এবং ভলিউম।
নেটওয়ার্কিং: Docker Compose ডিফল্টভাবে সমস্ত কন্টেইনারগুলিকে একই নেটওয়ার্কে যুক্ত করে, যা তাদের মধ্যে যোগাযোগকে সহজ করে।
পরিবেশের ভেরিয়েবল: পরিবেশ ভেরিয়েবলগুলি ব্যবহারের মাধ্যমে কন্টেইনারগুলির কনফিগারেশন নির্ধারণ করা যায়।
Multi-container Application
Multi-container Applications হল সেসব অ্যাপ্লিকেশন যা একাধিক কন্টেইনারে চলমান হয়। উদাহরণস্বরূপ, একটি ওয়েব অ্যাপ্লিকেশন, একটি ডেটাবেস, এবং একটি ক্যাশ সার্ভার একই সময়ে চলতে পারে এবং তারা একে অপরের সাথে কাজ করতে পারে।
Docker Compose ব্যবহার করে Multi-container Application তৈরি করা
১. docker-compose.yml ফাইল তৈরি করা
একটি docker-compose.yml ফাইল তৈরি করুন যেখানে আপনার সমস্ত সার্ভিসের কনফিগারেশন উল্লেখ থাকবে। নিচে একটি উদাহরণ দেওয়া হলো:
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "8080:80"
networks:
- my-network
db:
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: example
networks:
- my-network
cache:
image: redis:latest
networks:
- my-network
networks:
my-network:
২. Docker Compose কমান্ডগুলি ব্যবহার করা
Docker Compose অ্যাপ্লিকেশন শুরু করা:
এই কমান্ডটি সমস্ত সার্ভিস চালু করবে এবং লগ দেখতে পারবেন।
docker-compose up
ব্যাকগ্রাউন্ডে চালানো:
-d ফ্ল্যাগটি ব্যাকগ্রাউন্ডে কন্টেইনারগুলি চালাতে ব্যবহৃত হয়।
docker-compose up -d
কন্টেইনারগুলি বন্ধ করা:
এই কমান্ডটি সমস্ত কন্টেইনার বন্ধ করবে এবং পরিষ্কার করবে।
docker-compose down
কন্টেইনারের লগ দেখতে:
docker-compose logs
একটি নির্দিষ্ট সার্ভিসের লগ দেখতে:
docker-compose logs web
সারসংক্ষেপ
Docker Compose হল একটি শক্তিশালী টুল যা একাধিক কন্টেইনারকে একসাথে পরিচালনা করতে সহায়তা করে। Multi-container Applications তৈরি করতে Docker Compose ব্যবহার করে, আপনি সহজেই আপনার অ্যাপ্লিকেশন এবং তার সমস্ত নির্ভরতাগুলির কনফিগারেশন পরিচালনা করতে পারেন। Docker Compose-এ ব্যবহৃত docker-compose.yml ফাইলটি আপনার অ্যাপ্লিকেশনকে সংগঠিত এবং পরিচালনা করা সহজ করে তোলে, যা ডেভেলপমেন্ট এবং ডিপ্লয়মেন্টের সময় সময় সাশ্রয়ী হয়।
Read more