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 استفاده کنید.

اصطلاحات مرتبط: داکر، سرویس کانتینر، ردیس.