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 ساده، می‌توانید تمام نیازهای تنظیمات خود را مدیریت کنید. این ابزار به شما کمک می‌کند که سرویس‌های خود را به راحتی راه‌اندازی، مدیریت و توزیع کنید.