ابزارهای من : قسمت سوم - داکر - آشنایی دوستانه من و داکر

قبلا برای درست کردن محیط ویرچوال خودم ( محیطی که بتونم توی اون کد بزنم و پروژه بالا بیارم ، اما تنظیماتی که انجام میدم ، روی OS اختلال ایجاد نکنه و با تنظیمات جاهای دیگه تداخل نداشته باشه ) از Vagrant استفاده میکردم .

خوب بود . ساده و خوب .

میاد یک VM میسازه و داخل اون VM شما پروژه رو قرار میدین و کاراش رو انجام میدین :

Vagrant is an open-source software product for building and maintaining portable virtual software development environments , e.g. for VirtualBox, Hyper-V, Docker containers, VMware, and AWS which try to simplify software configuration management of virtualizations in order to increase development productivity. Vagrant is written in the Ruby language, but its ecosystem supports development in a few languages.

https://en.wikipedia.org/wiki/Vagrant_(software)

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

اما دیدم که حرف داکر خیلی زیاد شده .

https://linuxhint.com/docker-vs-vagrant/

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

تفاوت vagrant و داکر :‌

واگرانت در واقع یک نرم افزار مدیریت ماشین مجازی هست ( Virtual machine manager) و برای شما یک Virtual Machine ایجاد میکنه .

داکر یک محیط ایزوله که به کانتینر کار میکنه و در واقع برای شما یک Virtual Container راه اندازی میکنه . که یکی از کارهایی که میشه توی این کانتینر انجام داد ، ایجاد VM هست . پس تفاوت خیلی زیاده . من میتونم داخل داکر VM داشته باشم یا اینکه نه ، از تنظیمات خودم استفاده کنم و با Replicant های ساده کارم رو انجام بدم . داخل Vagrant این امکان رو ندارم .

مورد دومی که من خیلی دوست داشتم ، Load balancer قدرتمند داکر بود . که شما با ایجاد یک composer و تنظیمات webnet میتونید یک cluster خوب راه اندازی کنید .


کار با داکر اوایل برام خیلی سخت بود . اما کم کم خیلی بهتر درکش کردم و باهاش انس گرفتم . مسلما نگهداری داکر خیلی دشواره . مخصوصا توی production . (مخصوصا توی ایران ) . چون هر جایی نمیخوان و یا نمیشناسنش - پس نیازی بهش ندارن . من شاید از ۱۰ شرکت نرم افزاری دوتا دیدم که با داکر کار میکنن و ۳ ۴ شرکت هم با واگرانت .

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

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


حرف آخر‌:

نمیخوام بگم چی خوبه چی بده .

اما اگر نیاز به یک محیط ایزوله دارید که خیالتون از بابت تنظیمات اشتباه و جبران ناپذیر روی سرور راحت باشه ، داکر رو پیشنهاد میکنم . چون تنظیمات اشتباه شما فقط روی کانتینر مرتبط خودش تاثیر داره . نه حتی روی کانتینرهای دیگه .

در آخر اگر مطلبم مفید بود یک فنجون قهوه مهمونم کن . حرف زیاد داریم بزنیم .