CodeShot
Midسختی 2 از ۵· در 70٪ مصاحبه‌های این حوزه پرسیده شده

Docker Compose چه مشکلی را حل می‌کند؟

نشان کردن

پاسخ کوتاه

تعریف و اجرای چند Container مرتبط (مثلاً API + دیتابیس + Redis) با یک فایل تنظیمات، به‌جای اجرای دستی هر کدام با دستورات جدا.

پاسخ کامل

بدون Compose، برای بالا آوردن یک محیط توسعه با API، SQL Server و Redis باید سه دستور docker run جدا با تنظیمات شبکه/پورت هماهنگ اجرا کرد. با یک فایل docker-compose.yml، همهٔ این سرویس‌ها با یک دستور docker-compose up با هم بالا می‌آیند.

مثال کد

services:
  api:
    build: .
    ports: ["8080:80"]
  db:
    image: mcr.microsoft.com/mssql/server
    environment:
      SA_PASSWORD: "Str0ngP@ss"

نکته مهم

Docker Compose بیشتر برای محیط توسعه/تست مناسب است؛ برای Production مقیاس‌پذیر معمولاً Kubernetes استفاده می‌شود.

اشتباه رایج

❌ استفاده از رمزهای واقعی Production مستقیم در فایل docker-compose.yml که وارد Git می‌شود.