چرا یادگیری داکر مهمه؟

سلام سلام! خوش اومدید به اولین وبلاگ ریون گروپ.

چرا یادگیری داکر مهمه؟

سلام سلام! خوش اومدید به اولین وبلاگ ریون گروپ (Rivn Group)

من کیانم، یا همون Rivn خودتون. اگه احتمالاً منو نمی‌شناسید، همونیم که توی دوران قطعی ربات یوتیوب دانلودر «بله»، اون رو به صورت کاملاً رایگان هاست کرد تا کارتون راه بیفته. :)

امروز اومدیم با هم یه گپ و گفت جدی داشته باشیم در مورد اینکه اصلاً چرا باید داکر (Docker) رو یاد بگیریم؟

الان شاید بگی: «بابا، عصر، عصرِ هوش مصنوعیه و همه‌چی رفته رو وایب کدینگ با AI! مگه تو این وضعیت هنوزم لازمه چیزی رو خودمون یاد بگیریم؟»

منم در جواب خیلی مخلصانه بهت می‌گم: آره عزیزای من! داکر این روزا حتی از نون شب هم واجب‌تره؛ دقیقاً همین الان که هوش مصنوعی انقدر قوی شده و می‌تونه مثل آب خوردن کد بزنه، شما بیشتر از قبل به داکر نیاز دارید.

حالا اصلاً داکر چیه؟

بذارید خیلی ساده و به زبون خودمون بگم. فرض کنید می‌خواید یه قرمه‌سبزی خوشمزه درست کنید. اگه گوشت و سبزی و لوبیا رو همین‌طوری بریزید کف آشپزخونه، همه‌چی کثیف می‌شه و با وسایل دیگه قاطی می‌شه! شما به یه «قابلمه» نیاز دارید تا همه‌چیز رو توش جمع کنید و مستقل بپزیدش.

داکر دقیقاً کار همون قابلمه رو توی دنیای نرم‌افزار انجام میده. داکر به ما اجازه میده پروژه‌مون، کدهامون و تمام پیش‌نیازهاش رو بذاریم داخل یه جعبه‌ی مستقل و ترومیز به اسم «کانتینر» (Container). این‌طوری پروژه‌ی شما بدون اینکه با بقیه‌ی سیستم‌عامل قاطی بشه یا بهش آسیب بزنه، خیلی تمیز و ایزوله کار می‌کنه. بزرگ‌ترین حسنش هم اینه که این جعبه روی سیستم شما، سرور شرکت یا کامپیوتر دوستت دقیقاً به یک شکل و بدون هیچ خطایی اجرا می‌شه!

داکر چطوری کار میکنه؟

اگه بخوایم فنی‌تر ولی بازم ساده بهش نگاه کنیم، داکر مثل معماری سنتیِ ماشین‌های مجازی (Virtual Machines) نیست که بیاد کل سخت‌افزار رو شبیه‌سازی کنه و کلی از رم و سی‌پ‌ی‌یو رو هدر بده. داکر مستقیماً سوارِ هسته (Kernel) سیستم‌عاملِ اصلی می‌شه.

بیا این دیاگرام ساده رو تو ذهنت تجسم کنیم:

┌─────────────────────────────┐
│      Application(s)         │
│    ┌─────────┬─────────┐    │
│    │  App A  │  App B  │    │
│    └─────────┴─────────┘    │
│      Container Engine       │
│        (Docker)             │
│      Host OS (Kernel)       │
│    ┌─────────────────────┐  │
│    │    Infrastructure   │  │
│    └─────────────────────┘  │
└─────────────────────────────┘

کف کار سخت‌افزارمونه (Infrastructure)، روش سیستم‌عامل اصلی (Host OS) قرار داره، بعد خودِ موتور داکر (Docker Engine) می‌شینه و در نهایت کانتینرهای مختلف ما خیلی سبک و موازی دارن کار خودشون رو می‌کنن. این یعنی کانتینرها به شدت سبک، سریع و کم‌مصرف هستن و توی چند ثانیه بالا میان.

خب شاید بگی چرا همین الان داکر رو بهمون یاد نمیدی؟

واقعیتش اینه که برای یادگیری داکر، لازم نیست چرخ رو از اول اختراع کنیم. شما می‌تونید اصولش رو از خودِ هوش مصنوعی بپرسید یا چند تا ویدیوی ساده توی یوتیوب ببینید. اما اگه نظر منو بخواید، پیشنهاد اول و آخر من دوره‌ی جادیه؛ چون به نظرم خیلی روان و عالی توضیح داده:

اگر هم دیدید تاریخ انتشار ویدیوها یکم قدیمیه اصلاً نگران نباشید؛ مفاهیم پایه‌ای داکر دقیقاً همونه و چیزای خیلی کمی از اون زمان تا حالا تغییر کرده.


امیدوارم از این وبلاگ و البته از سایتی که خودم توسعه‌اش دادم کلی خوشتون اومده باشه و براتون مفید بوده باشه.

تا وبلاگ بعدی، بدرود!