Docker Compose ابزار تعریف و اجرای چند سرویس کانتینری به کمک یک فایل YAML است. برخلاف اجرای دستی چند دستور docker run، شبکه، والیوم، وابستگی و تنظیمات برنامه در یک فایل قرار میگیرند.
مثال فروشگاه با API و ردیس
services:
api:
build: .
ports:
- "8080:8080"
environment:
REDIS_HOST: redis
depends_on:
- redis
redis:
image: redis:7-alpine
volumes:
- redis_data:/data
volumes:
redis_data:
دستورات کاربردی
| دستور | کاربرد |
|---|---|
docker compose up -d | ساخت و اجرای سرویسها در پسزمینه |
docker compose ps | نمایش وضعیت کانتینرهای پروژه |
docker compose logs -f api | دنبال کردن لاگ API |
docker compose exec api sh | اجرای شل در سرویس در حال اجرا |
docker compose run --rm api php artisan migrate | اجرای فرمان موقتی روی سرویس |
docker compose pull | دریافت نسخه تصاویر |
docker compose build | ساخت دوباره تصاویر پروژه |
docker compose down | حذف کانتینر و شبکه پروژه |
docker compose down -v | حذف والیومهای نامگذاریشده، با ریسک حذف داده |
امنیت داده
فرمان down -v دادههای والیومهای تعریفشده در پروژه را هم حذف میکند. این فرمان برای محیط دارای اطلاعات واقعی مناسب نیست. depends_on به تنهایی آمادگی اپلیکیشن را تضمین نمیکند و برای وابستگی واقعی از healthcheck استفاده کنید.
اصطلاحات مرتبط: داکر، سرویس کانتینر، ردیس.