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

مقدمه

برنامه‌هایی که می‌نویسیم معمولا تنها نیستند و کنارشون باید سرویس‌های دیگه‌ای هم اجرا بشن. مثلا یک دیتابیس کنار برنامه اصلی باید باشه تا بتونه اطلاعات رو ذخیره کنه. هنگام نوشتن و تست برنامه‌ هم دوست داریم چنین شرایطی رو داشته باشیم. یعنی واقعا یک دیتابیس بالا بیاد و برنامه‌ی ما بتونه با اون کار کنه. داکر کامپوز (docker compose) ابزاری هست که به ما اجازه میده چند تا سرویس رو در داکر کنار هم بالا بیاریم و به هم متصل کنیم. در این مطلب قصدمون این هست که یک معرفی کوتاهی بر داکر کامپوز داشته باشیم، نصبش کنیم و یه سرویس ساده هم باهاش اجرا کنیم.

برای درک بهتر این نوشته باید با داکر و کانتینرها کار کرده باشید و به یک سیستم لینوکسی دسترسی داشته باشید.

آشنایی با داکر کامپوز

همون طور که در بخش قبلی گفته شد شما با داکر کامپوز می‌تونید چند سرویس کانتینری رو کنار هم اجرا کنید. کافیه در یک فایل yaml اطلاعات رو بنویسید و با دستور docker-compose up اون رو اجرا کنید. فرض کنید یه سرویس جنگو (یک فریم ورک بک اند به زبان پایتون) نوشتید و اون نیاز داره به یک دیتابیس MySQL وصل بشه. تو فایل yaml می‌تونید دو تا سرویس تعریف کنید که یکیش ایمیج mysql هست و دیگری ایمیجی که از روی کد شما ساخته میشه. در این فایل yaml اطلاعات ارتباط جنگو به mysql رو می‌دیم و وقتی جنگو بالا بیاد به یک دیتابیس MySQL وصل میشه. به این شکل در محیط development خودتون می‌تونید برنامه رو تست کنید.

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

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

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

chmod +x docker-compose-Linux-x86_64 

دستور chmod دسترسی‌های مختلف فایل رو تغییر میده. این‌جا فقط قابلیت اجرا شدن رو به فایل دادم. الان میشه اجراش کرد:

این خروجی نشون میده تا اینجا درست اومدم. اما خوبه که فایل باینری رو تو PATH سیستم بذارم تا هر دفعه راحت اجراش کنم. اسمش هم عوض می‌کنم که راحت‌تر بنویسمش. برای این کار این دستور رو اجرا می‌کنم:

 mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose

دیگه به راحتی تو هر مسیری می‌تونم docker-compose رو اجرا کنم:


اجرای سرویس ساده

یک فایل با نام docker-compose.yaml ایجاد کنید و داخل اون این شکلی بنویسید:

version: &quot3.9&quot
services:
    nginx:
        image: &quotnginx&quot    
        ports:     
             - &quot8000:80&quot

این فایل تنها یه کانتینر nginx بالا میاره که روی پورت ۸۰۰۰ در سیستم میزبان جواب میده. در همون پوشه‌ای که این فایل درش قرار داره دستور docker-compose up رو بزنید تا این خروجی رو ببینید:

این نشون میده داکر کامپوز داره کارش رو به خوبی انجام میده. می‌تونید در مرورگر خودتون آدرس localhost:8000 برید و ببینید nginx داره جواب میده. خب اینم از این. در قسمت‌های بعدی ان شاء الله نوشتن این فایل رو یاد می‌گیریم.


جمع بندی

در این مطلب با داکر کامپوز آشنا شدیم، نصبش کردیم و یک سرویس ساده رو باهاش اجرا کردیم. امیدوارم براتون مفید بوده باشه. اگر نظر یا سوالی دارین این پایین بفرمایین.

قسمت قبلی

قسمت بعدی