Docker Compose

در این مطلب به آموزش و توضیح مختصری در رابطه با docker compose جهت آشنایی شما عزیزان می پردازیم.

 

docker-compose

 

docker compose چیست؟

در واقع یک نوع نوشتار برای تنظیمات است که به شما امکان میدهد چندین container مختلف را برای بالا اوردن یک سرویس چند containerی بالا بیاورید و همه وابستگی ها و ارتباطات مورد نیاز در آنها را در فایل تنظیمات خود تعریف کنید.

این نوع فایل های نوشتاری که تنظیمات را در آن قرار میدهید با زبان yaml نوشته میشود.

در زیر نمونه ای از این نوع فایل که به اسم docker-compose.yml درست کرده ام را برای شما میگذارم.

version: ‘2’

 services:
web:
build: .
ports:
– “۵۰۰۰:۵۰۰۰”
volumes:
– .:/code
redis:
image: redis

در جدول زیر توضیحاتی جهت آشنایی شما عزیزان با هر کدام از خطوط بکار برده شده در این تنظیمات آورده شده است.

 

Version شماره نسخه فایل compose  را مشخص میکند
Services سرویس ها یا container  های موجود را توضیح میدهد
build نوع ساخته شدن را مشخص میکند
ports Port هایی که میخواهیم expose  کنیم را مشخص میکند
volumes Volume ها را مشخص میکند
redis اسم سرویس یا container
image Image ی که با آن سرویس یا conainer  ساخته میشود

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

sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

و برای اینکه تست کنیم ببینیم آیا آن را درست نصب کرده ایم یا نه دستور زیر اجرا میکنیم

docker-compose –version

اگر خروجی مانند زیر دیدیم کار ما درست بوده است.

docker-compose version 1.16.1, build 1719ceb

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

docker-compose up

اگر فایل شما درست نوشته شده باشد container های شما با می آید.

توجه: برای خواندن آموزش های docker ما به اینجا مراجه کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *