داکر کامپوز Docker Compose چیست و چه مزایایی دارد ؟
ابزار Docker Compose ، ابزاری برای ارائه و اجرای برنامههایی است که در اصطلاح مولتی کانتینر بوده و چند کانتینر مختلف دارند. شاید سوال پیش بیاید که فایل docker-compose.yml چیست؟ شما با استفاده از فایل docker-compose.yml میتوانید سرویسهای برنامتان را اجرا و کانفیگ کنید. بعد از آن فقط با استفاده از یک دستور میتوانید همهی سرویسهایی را که در فایل yaml خود مشخص کردید، را بسازید و اجرا کنید. برای اینکه بدانید Docker Compose چیست ؟ مطالب زیر را مطالعه نمایید.
امروزه دانستن شیوه استفاده از کانتینرها در توسعه اپلیکیشن برای توسعهدهندگان وب اهمیت بالایی دارد. یکی از دلایل این حجم تقاضای اخیر برای کانتینرها، ظهور داکر (Docker) بوده است. اگر شما علاقهمند به حوزه فناوری و تکنولوژی باشید بعید است که نام داکر را نشنیده باشید. داکر نه تنها استفاده از کانتینرها را افزایش داده است، بلکه تأثیر عمدهای روی روش نگرش ما به توسعه اپلیکیشنها داشته است. برای آشنایی بیشتر با داکر خواندن مقالهی داکر را به شما پیشنهاد میکنیم.
برای خرید سرور ابری به سایت ابر آراز مراجعه کنید.
مزایای Docker Compose
کامپوز در همهی بخش های توسعه مثل تولید (production)، صحنهسازی (staging) ، توسعه(development) ، تست (testing)، همچنین ادغام و آماده سازی های متداول ( CI ) قابل استفاده است، موارد گفته شده از جمله مزایای داکر کامپوز هستند.
استفاده از کامپوز یک فرآیند 3 مرحلهای بوده که شامل موارد زیر میشود:
- تعریف و توصیف محیط برنامه با استفاده از یک Dockerfile که بتواند در هر جای دیگری نیز استفاده شود.
- تعریف سرویسهای برنامهی مورد نظر در یک فایل docker-compose.yml که همهی آنها بتوانند همزمان و کنار هم در یک محیط کاملا ایزوله اجرا شوند.
- استفاده از دستور docker-compose up که باعث اجرای کامپوز و اجرای کامل برنامهی شما میشود.
داکر کامپوز در مدیریت کانتینرها و کاربرد Docker Compose
- شروع، توقف و بازسازی سرویسها
- مشاهدهی وضعیت سرویسهای در حال اجرا
- پخش لاگهای خروجی سرویسهای در حال اجرا
- اجرای دستورات یکبار مصرف روی یک سرویس
ویژگیهای کامپوز
ویژگیهای کامپوز که آن را از سایر برنامه ها متمایز میکند شامل موارد زیر میشود:
- چند محیط ایزوله شده روی یک ماشین میزبان
- ذخیره اطلاعات درایو در هنگام ساخت کانتینرها
- فقط بازسازی کانتینرهایی که در آنها تغییراتی به وجود آمده است.
- متغیرهای مختلف و استفاده از یک محیط ترکیبی بین بخشهای مختلف توسعه
چند محیط ایزوله شده روی یک ماشین میزبان
کامپوز از نام پروژه استفاده میکند که محیط های مختلف را از هم جدا کرده و هریک را به تنهایی ایزوله میکند. شما میتوانید از نام پروژه در شرایط مختلفی استفاده کنید:
- با استفاده از این ویژگی روی ماشینی که در حال توسعهی آن هستید، میتوانید از محیط تولیدی که روی آن کار میکنید، چند کپی بسازید. مثل مواقعی که میخواهید بخش های مختلف یک پروژه را تک به تک و یا با هم بررسی و آزمایش کنید.
- در یک میزبان اشتراکی ممکن است پروژههای مختلفی در حال اجرا بوده و از سرویسهای یکسانی استفاده کنند، که نامی شبیه به هم دارند، این موضوع میتواند باعث توقف و مشکل در عملکرد برنامهی شما شود. ایزوله شدن و یا جداسازی هر یک از محیطها از یکدیگر توسط کامپوز از بروز این مشکل جلوگیری میکند.
نام پیشفرض هر پروژه آدرس آن در سیستم شما است، همچنین میتوانید نام دلخواه خود را با استفاده از دستور p- در ترمینال یا متغیر COMPOSE_PROJECT_NAME مشخص کنید.
ذخیره اطلاعات درایو در هنگام ساخت کانتینرها
کامپوز تمام اطلاعات درایوهایی که سرویسهای شما از آن استفاده میکنند را ذخیره میکند. وقتی دستور docker-compose up اجرا میشود، تمام کانتینرها از اجراهای قبلی را پیدا میکند، و درایوها را از کانتینر های قدیمی در کانتینرهای جدید کپی میکند. این عملیات اطمینان حاصل میکند که اطلاعاتی که در درایو ها وارد شده، حذف نشود. اگر از داکر کامپوز در ویندوز استفاده میکنید میتوانید در قسمت Environment variables تنظیماتی را مطابق نیاز خودتان انجام دهید.
بازسازی کانتینرهایی که در آنها تغییراتی به وجود آمده است
کامپوز تنظیماتی که برای ساخت یک کانتینر استفاده میشود را ذخیره میکند. وقتی شما سرویسی را ریاستارت میکنید، اگر در آن سرویس تغییری به وجود نیامده باشد، کامپوز از همان کانتینر قبلی که قبلا ساخته شده استفاده میکند که این عملیات باعث افزایش چشمگیر سرعت میشود.
متغیرهای مختلف و استفاده از یک محیط ترکیبی بین بخشهای مختلف توسعه :
کامپوز از متغیرهای تعریف شده در کامپوز فایل پشتیبانی میکند.شما میتوانید از این متغیرها برای اعمال تغییرات مختلف در محیط های مورد استفاده و یا تنظیمات مربوط به کاربران استفاده کنید.
موارد استفادهی معمول داکر کامپوز
کامپوز را میتوانید در موارد مختلفی استفاده کنید، که در این قسمت به 2 مورد از آنها اشاره میکنیم:
محیط های توسعه
وقتی شما در حال توسعهی نرم افزاری هستید، داشتن این قابلیت که بتوانید آن را در یک محیط کاملا ایزوله اجرا کرده و بخش های مختلف آن را بررسی کنید، بسیار مفید است.
ابزار خط فرمان کامپوز میتواند برای ساخت محیطهای مختلف استفاده شود. کامپوز فایل راهی برای تنظیم پیشنیازهای (databases, queues, caches, web service APIs) همهی سرویسهای برنامه به شما ارائه میدهد. با استفاده از محیط خط فرمان کامپوز و یک دستور شما میتوانید یک یا چند کانتینر را برای هریک از این پیشنیاز ها ساخته و یا اجرا کنید.(docker-compose up)
این ویژگیها راهی راحت و قابل قبول برای توسعه دهندگان و ترغیب آنها به شروع پروژهها ارائه میدهند. کامپوز میتواند یک محتوای آموزشی چند صفحهای برای اجرای یک برنامه را به چند خط کد و یک کامپوز فایل قابل خواندن توسط ماشین تبدیل کند.
آموزش نصب داکر کامپوز در لینوکس
برای نصب داکر کامپوز در لینوکس دو راه وجود دارد
- راه اول از دستور زیر برای چک کردن آخرین نسخه و دانلود آن استفاده میکنیم.
sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/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.21.2, build a133471
- راه دوم:
با استفاده از دستور pip میتوانید داکر کامپوز را به راحتی بر روی دستگاه خود نصب کنید:
pip install -U docker-compose
آموزش نصب داکر در ویندوز
برای نصب داکر در ویندوز کافیست که به وب سایت داکر مراجعه کرده و فایل exe داکر را دانلود و نصب کنید. حتما قبل از نصب داکر فعال بودن گزینهی virtualization در تنظیمات بایوس سیستم خود را چک کنید، تا در هنگام نصب با مشکلی مواجه نشوید.
پس از نصب به راحتی میتوانید با کلیک بر روی آیکون docker desktop برنامه را اجرا کرده و از آن استفاده کنید.در ویندوز داکر دسکتاپ شامل ابزار مختلفی است که داکر کامپوز را نیز شامل میشود.
نصب داکر کامپوز در مک (Mac OS X)
برای نصب docker-compose در مک نیز مثل ویندوز عمل میکنیم و فایل نصبی را دانلود و نصب میکنیم. داکر دسکتاپ مک نیز هنگام نصب ابزار مختلفی را نصب کرده که داکر کامپوز هم یکی از آنها میباشد.
نصب از طریق یک بسته نرم افزاری پایتون (Python Pip)
برای نصب داکر کامپوز از طریق pip کافیست دستور زیر را در ترمینال وارد کنید، تا عملیات دانلود و نصب آغاز شود.
pip install docker-compose
در شبکههای اجتماعی ما را دنبال کنید.