docker-compose چیست؟

یکی از معضلات کارکردن با داکر به خاطر سپردن دستورات مختلف جهت راه اندازی یک سرویس هست مثل والیوم کردن ها، ثبت dns برای سرویس، باز کردن پورت های مختلف، اتصال چند سرویس به هم و خیلی موارد دیگر.

پکیج docker-compose این امکان را فراهم میکند که با استفاده از ساختار فایل yml بتوان به راحتی یک سرویس را راه اندازی کرد. به عنوان مثال ساختار زیر برای راه اندازی یک nginx در قالب داکر است.

version: '3'
services:  
   nginx:
      image: nginx:latest
      restart: always
      container_name: nginx
      ports:
        - 80:80
        - 443:443
      volumes:
        - ./nginx-config:/etc/nginx/conf.d
      command: /bin/bash -c "nginx -g 'daemon off;'"

در خط اول نسخه فایل مشخص میشود. نسخه های مختلف docker-compose همانند نسخه های مختلف یک نرم افزار دارای قابلیت های مختلف است و باعث میشود بخش های مختلف فایل yml پشتیبانی بشود یا نه. در خط دوم لیست سرویس هایی که در داخل فایل قرار است اجرا شود مشخص میشود. به عنوان نمونه در اینجا یک سرویس nginx قرار است راه اندازی شود. برای راه اندازی این سرویس از داکر nginx با تگ latest استفاده شده است.

دستور restart مشخص میکند که در صورت قطع شدن سرویس داکر تحت هر شرایطی مجددا اجرا شود. با استفاده از عنوان container_name میتوانید یک اسم دلخواه برای container خود انتخاب کنید. در قسمت port به راحتی هر پورتی در هاست را به پورت داکر مپ کنید. در اینجا پورت سمت چپ پورت هاست و بخش سمت راست مربوط به داکر است. در بخش volumes میتوانید به هر تعداد که میخواهید فایل های موجود در هاست را به داکر منتقل کنید.

در قسمت command میتوانید هر دستوری را که میخواهید در داکر اجرا کنید. در خصوص استفاده از docker-compose وجود بخشی از تنظیمات اجباری و بخشی دیگر اختیاری است. بخش های اجباری شامل عنوان سرویس و image است و سایر بخش ها کاملا اختیاری است و بسته به نوع کاری که قرار است انجام شود میتواند حذف و یا اضافه شود.

نصب docker-compose

نصب پکیج docker-compose بسیار ساده است و در تمام نسخه های لینوکس میتوانید با استفاده از دستور زیر این پکیج را نصب کنید.

curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose

توجه داشته باشید که درصورتی که دستورات داکر را در حالت sudo اجرا میکنید، لازم است در زمان اجرای docker-compose در حالت sudo اجرا کنید.

اشتراک گذاری

Leave a Comment

Your email address will not be published. Required fields are marked *

nineteen + 17 =