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 میشود.
