Docker Compose یک ابزار قدرتمند برای مدیریت چند سرویس Docker است که به شما این قابلیت را میدهد تا کلیه تنظیمات خدماتی را که نیاز دارید، در یک فایل YAML تعریف کنید و سپس بهراحتی آنها را بالا بیاورید یا متوقف کنید، در این مقاله راهنمای استفاده از Docker Compose برای مدیریت سرویسها میپردازیم.
مقاله مرتبط: ساخت محیط توسعه Docker
سرفصل های مقاله
۱. نصب Docker Compose
قبل از استفاده از Docker Compose، اطمینان حاصل کنید که Docker و Docker Compose بر روی سیستم شما نصب شدهاند. معمولاً با نصب Docker، Docker Compose نیز به صورت خودکار نصب میشود. برای بررسی نسخههای نصبشده، از دستورات زیر استفاده کنید:
docker --version
docker-compose --version
۲. ایجاد فایل docker-compose.yml
فایل docker-compose.yml اصلیترین فایل پیکربندی است که در آن تمام سرویسها و تنظیمات مربوط به آنها را تعریف میکنید. یک مثال ساده از این فایل به شکل زیر است:
version: '3' # نسخه Docker Compose
services: # تعریف سرویسها
web: # سرویس وب
image: nginx:latest # تصویر Docker
ports: # پورتها
- "80:80" # استفاده از پورت 80 ماشین میزبان
database: # سرویس پایگاه داده
image: mysql:latest # تصویر Docker
environment: # متغیرهای محیطی
MYSQL_ROOT_PASSWORD: example # رمز عبور ریشه
MYSQL_DATABASE: example_db # نام پایگاه داده
۳. اجرای Docker Compose
برای راهاندازی سرویسها تعریفشده در فایل docker-compose.yml، میتوانید از دستور زیر استفاده کنید:
docker-compose up
با اضافه کردن -d، میتوانید سرویسها را در پسزمینه اجرا کنید:
docker-compose up -d
۴. مدیریت سرویسها
- متوقف کردن سرویسها:برای متوقف کردن تمامی سرویسهای فعال:
docker-compose down
- مشاهده لاگها:برای مشاهده لاگهای سرویسهای در حال اجرا:
docker-compose logs
برای مشاهده لاگ یک سرویس خاص:
docker-compose logs <service_name>
۵. تنظیمات پیشرفته
شما میتوانید از ویژگیهای پیشرفته Docker Compose مانند شبکهها و حجمهای (volumes) داده استفاده کنید:
version: '3'
services:
web:
image: nginx:latest
volumes:
- ./html:/usr/share/nginx/html # به اشتراکگذاری پوشه
networks:
- mynetwork
networks: # تعریف شبکهها
mynetwork:
جمع بندی
Docker Compose ابزار مناسبی برای مدیریت چندین سرویس Docker بهصورت همزمان است. با استفاده از یک فایل YAML ساده، میتوانید تمام نیازهای تنظیمات خود را مدیریت کنید. این ابزار به شما کمک میکند که سرویسهای خود را به راحتی راهاندازی، مدیریت و توزیع کنید.