با Docker Compose چند کانتینر مرتبط (مثل وردپرس و دیتابیس) را با یک فایل تنظیمات و یک دستور مدیریت کنید.

Docker Compose ابزاری است که مدیریت چند کانتینر داکر مرتبط با هم (مثلاً یک اپلیکیشن وب + دیتابیس + کش) را به یک فایل تنظیمات واحد و چند دستور ساده تبدیل میکند — بهجای اینکه هر کانتینر را جداگانه با دستورات طولانی docker run اجرا کنید.
پیشنیاز
ابتدا باید Docker را نصب کرده باشید. نسخههای جدید داکر معمولاً Compose را بهصورت پلاگین (دستور docker compose) همراه خود دارند.
ساخت اولین فایل docker-compose.yml
فرض کنید میخواهید یک اپلیکیشن وردپرس همراه با دیتابیس MySQL راه بیندازید:
version: '3.8'
services:
wordpress:
image: wordpress:latest
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wpuser
WORDPRESS_DB_PASSWORD: RamzeQavi123
WORDPRESS_DB_NAME: wordpress
depends_on:
- db
db:
image: mysql:8.0
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wpuser
MYSQL_PASSWORD: RamzeQavi123
MYSQL_ROOT_PASSWORD: RamzeRootQavi123
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:اجرای همه سرویسها با یک دستور
docker compose up -d
این دستور هر دو کانتینر (وردپرس و دیتابیس) را میسازد، شبکه داخلی بین آنها برقرار میکند و در پسزمینه اجرا میکند.
دستورات پرکاربرد
docker compose ps— نمایش وضعیت سرویسهاdocker compose logs -f— مشاهده لاگ زنده همه سرویسهاdocker compose down— توقف و حذف کانتینرها (بدون حذف دادههای Volume)docker compose restart— ریاستارت همه سرویسها
چرا Compose بهتر از اجرای دستی کانتینرهاست؟
تمام پیکربندی پروژه در یک فایل متنی مستند و قابل نگهداری در Git است؛ هر عضو تیم با یک دستور docker compose up دقیقاً همان محیط را روی سیستم خودش بالا میآورد — بدون نیاز به مستندسازی جداگانه یا نصب دستی هر سرویس.



