آشنایی با داکر کامپوز (Docker Compose) - بخش اول

ابزار Docker Compose (با نام قبلی Fig) ابزاری متن باز برای خودکارسازی کار با کانتینرهاست که ابتدا توسط تیم Orchard ایجاد و سپس در سال ۲۰۱۴ توسط شرکت داکر خریداری شد. برای درک بهتر این ابزار لازم است قدری با مفاهیم اولیه داکر آشنایی داشته باشید که میتوانید در همین سایت درباره آن بیشتر مطالعه کنید.

داکر کامپوز برای تعریف و اجرای برنامه هایی که از چند کانتینر تشکیل شده اند بکار میرود. با استفاده از این ابزار میتوان یک یا چند کانتینر را به همراه تمام پارامترهای لازم برای اجرای آنها در یک فایل YAML به نام کامپوزفایل (docker-compose.yml) تعریف کرد و سپس همه آنها را با استفاده از تنها یک دستور ایجاد و راه اندازی نمود. در این فایل هر یک از این کانتینرها یک سرویس نامیده میشود که تعریف دقیق آن به این صورت است: >هر سرویس یک کانتینر است که به شکلی با کانتینرهای دیگر در تعامل است و مشخصات زمان اجرای خاص خود را دارد.

غالبا استفاده از داکر کامپوز یک فرآیند سه مرحله ایست:

  • تعریف محیط اجرای برنامه ها با داکرفایل (Dockerfile) که در نتیجه در هر جایی امکان اجرا دارد.
  • تعریف سرویسهای معادل هر برنامه در کامپوزفایل که در نتیجه امکان اجرای آنها در یک محیط ایزوله در کنار یکدیگر بوجود می آید.
  • اجرای دستور docker-compose up که در نتیجه برنامه شما با همه سرویسهایش اجرا میشود.

در اینجا نمونه ای از یک کامپوزفایل (نسخه ۲) نمایش داده شده که از دو سرویس تشکیل شده است:

version: '2'
services:
  web:
    build: .
    ports:
    - "5000:5000"
    volumes:
    - .:/code
    links:
    - redis
  redis:
    image: hub.elastico.io/library/redis

اولین سرویس که web نام دارد از روی یک داکرفایل در پوشه جاری (که مسیر آن با .  مشخص شده است) ساخته میشود و دومین سرویس آخرین نسخه از پایگاه داده های redis است که از روی تصویر آماده آن اجرا میشود. توضیحات بیشتر در خصوص ساختار کامپوزفایل در مقالات بعدی از این سری ارایه خواهد شد.

در واقع ابزار داکر کامپوز دستوراتی برای مدیریت چرخه عمر کانتینرها دارد که امکانات زیر را فراهم میکند:

  • اجرا، توقف و بازتولید سرویسها
  • مشاهده وضعیت سرویسهای در حال اجرا
  • مشاهده خروجی (لاگ) سرویسهای در حال اجرا

در این سری از مقالات قصد داریم نحوه نصب داکر کامپوز و سپس شیوه استفاده از آن را برای ایجاد و راه اندازی یک کاربرد چندکانتینری ساده توضیح دهیم. این مقاله تنها به معرفی اولیه و شیوه نصب این ابزار میپردازد.

نحوه نصب داکر کامپوز

امکان نصب داکر کامپوز بر روی سیستم عاملهای لینوکس، ویندوز و مک وجود دارد و این کار از سه طریق ممکن است: نصب مستقیم فایل باینری، نصب از طریق داکر (در ویندوز و مک) و یا نصب از طریق یک بسته نرم افزاری Python Pip.

نصب در لینوکس

برای نصب داکر کامپوز در لینوکس باید فایل باینری آن را از گیت هاب دانلود کرده و سپس به یک فایل قابل اجرا تبدیل کنید. در تکه کد زیر نحوه انجام این کار با استفاده از دستور curl نمایش داده شده است. توجه کنید که داکر کامپوز تنها بر روی نسخه های ۶۴ بیتی لینوکس قابل اجراست:

$ sudo curl -L https://github.com/docker/compose/releases/
download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose

نصب در مک (Mac OS X)

داکر کامپوز در مک از طریق نصب بسته داکر برای مک (Docker for Mac) نصب میشود ولی در صورت تمایل میتوانید آن را به صورت جداگانه با استفاده از فایل باینری و اجرای دستورات زیر نصب کنید:

$ sudo bash -c "curl -L https://github.com/docker/compose/
releases/download/1.8.0/docker-compose-Darwin-x86_64 > /usr/local/bin/docker-compose"
$ sudo chmod +x /usr/local/bin/docker-compose

نصب در ویندوز

داکر کامپوز در ویندوز به همراه بسته داکر برای ویندوز (Docker for Windows) فراهم شده است.

نصب از طریق یک بسته نرم افزاری پایتون (Python Pip)

اگر بر روی سیستم عامل دیگری قصد نصب داکر کامپوز را دارید یا ترجیح می دهید نصب را با استفاده از یک بسته نرم افزاری انجام دهید می توانید از Python Pip استفاده کنید. برای اینکار باید ابتدا Python Pip را نصب کنید و سپس با استفاده از دستور زیر داکر کامپوز را نصب کنید:

$ sudo pip install -U docker-compose

مقالات بعدی از این سری به زودی در همین سایت منتشر خواهد شد.