(Docker) داکر چیست ؟

آموزش

داکر چرا انقدر محبوب است؟

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

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

داکر که در بالا به آن اشاره شد وظیفه مدیریت کانتینرها را به عهده دارد و بیشتر شبیه یک ماشین مجازی عمل میکند، تفاوت داکر با ماشین مجازی در این است که در VM (یا ماشین مجازی) برای اجرای اپلیکیشن و برنامه های مختلف که بخواهیم به صورت ایزوله و مجزا از هم کار کنند باید VM های مختلف ساخته شود که همین موضوع بار پردازشی و هدر رفت منابع سیستمی را روی سرور به همراه دارد.

ولی در Docker روی یک VM خاص که میتواند دارای سیستم عامل ویندوز یا لینوکس باشد، ماژول داکر نصب شده و سپس روی سرویس داکر، کانتینرهای مختلف حاوی برنامه ها و اپلیکیشن های مختلف نصب و اجرا می‌شوند بدون اینکه کانتینرها به هم دسترسی داشته باشند. بدین صورت کانتینرها از هم ایزوله هستند و نیاز ما برای ایجاد چندین VM را مرتفع میسازند.

دلایل محبوبیت داکر

اگر با مجازی سازی آشنا باشید حتماً به خوبی می‌دانید سازوکارهای این کار مانند Hyper-V, KVM و Xen، سخت‌افزار را به صورت مجازی در اختیار مدیران شبکه قرار می‌دهند. در نتیجه این سازوکارها نیازمند منابع سخت‌افزاری قوی هستند.

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

به لطف این ویژگی‌ چیزی حدود ۴ تا ۶ برابر اینستنس‌ بیشتری نسبت به فناوری Xen یا KVM VM بر روی یک سخت‌افزار واحد اجرا می‌شود. از طرف دیگر کانتینرها به توسعه‌ دهندگان کمک می‌کنند تا کدهای خود را داخل یک مخزن مشترک قرار دهند. این امر فرآیند کدنویسی را سرعت می‌بخشد و کدها عملکرد بهتری خواهند داشت.

داکر توسعه‌دهندگان را قادر می‌سازد تا اپلیکیشن‌های خود را راحت و سریع با حجم کمتری به صورت قابل حمل و پرتابل در یک کانتینر قرار دهند. این اپلیکیشن‌هابه صورت مجازی از هر جایی قابل اجرا هستند.

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

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

داکر که در بالا به آن اشاره شد وظیفه مدیریت کانتینرها را به عهده دارد و بیشتر شبیه یک ماشین مجازی عمل میکند، تفاوت داکر با ماشین مجازی در این است که در VM (یا ماشین مجازی) برای اجرای اپلیکیشن و برنامه های مختلف که بخواهیم به صورت ایزوله و مجزا از هم کار کنند باید VM های مختلف ساخته شود که همین موضوع بار پردازشی و هدر رفت منابع سیستمی را روی سرور به همراه دارد.

ولی در Docker روی یک VM خاص که میتواند دارای سیستم عامل ویندوز یا لینوکس باشد، ماژول داکر نصب شده و سپس روی سرویس داکر، کانتینرهای مختلف حاوی برنامه ها و اپلیکیشن های مختلف نصب و اجرا می‌شوند بدون اینکه کانتینرها به هم دسترسی داشته باشند. بدین صورت کانتینرها از هم ایزوله هستند و نیاز ما برای ایجاد چندین VM را مرتفع میسازند.

دلایل محبوبیت داکر

اگر با مجازی‌سازی آشنا باشید حتماً به خوبی می‌دانید سازوکارهای این کار مانند Hyper-V, KVM و Xen، سخت‌افزار را به صورت مجازی در اختیار مدیران شبکه قرار می‌دهند. در نتیجه این سازوکارها نیازمند منابع سخت‌افزاری قوی هستند.

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

به لطف این ویژگی‌ چیزی حدود ۴ تا ۶ برابر اینستنس‌ بیشتری نسبت به فناوری Xen یا KVM VM بر روی یک سخت‌افزار واحد اجرا می‌شود. از طرف دیگر کانتینرها به توسعه‌ دهندگان کمک می‌کنند تا کدهای خود را داخل یک مخزن مشترک قرار دهند. این امر فرآیند کدنویسی را سرعت می‌بخشد و کدها عملکرد بهتری خواهند داشت.

داکر توسعه‌دهندگان را قادر می‌سازد تا اپلیکیشن‌های خود را راحت و سریع با حجم کمتری به صورت قابل حمل و پرتابل در یک کانتینر قرار دهند. این اپلیکیشن‌هابه صورت مجازی از هر جایی قابل اجرا هستند.

نظارت و مدیریت کانتینرها

تمامی زیرساخت‌های IT نیازمند مدیریت و نظارت هستند و در همین راستا کانتینرها نیز باید مانیتور شوند و در حالت کنترل‌شده‌ای قرار بگیرند. درغیر این‌ صورت مشخص نخواهد شد سرور چه برنامه‌هایی را اجرا می‌کند.

خوشبختانه از برنامه‌های دواپس می‌توان برای مانیتور کانتینرهای داکر کمک گرفت، اما به این نکته نیز باید اشاره کرد که این برنامه‌ها برای کانتینرها بهینه‌ نشده‌اند. اینجاست که باید سراغ ابزارهای مدیریت و نظارت رایانش ابری را بگیرید.

ابزارهایی مانند Docker Swarm و Mesosphere در این زمینه گزینه‌های خوبی به‌نظر می‌رسند و تجربه نشان داده است در بین این ابزارها Kubernetes محبوبیت بیشتری پیدا کرده است.

بدون دیدگاه

پاسخی بگذارید

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

آموزش
1
تفاوت هاست با سرور

به گزارش امن سرور بسته به بودجه‌ای که داریم و همچنین میزان نیاز قدرت سخت افزاری، گزینه‌های متفاوتی برای میزبانی سایت روی آن پیش رو داریم. در اینجا می‌خواهیم برای کسب اطلاعات بیشتر درباره تفاوت هاست با سرور ، دو گزینۀ هاست اشتراکی و همچنین سرور مجازی را با هم …

how to use putty
آموزش
آموزش استفاده از نرم افزار putty و طریقه وصل شدن به SSH

مدیریت سرورهای بر پایه لینوکس معمولا از طریق SSH انجام می شود و کسانی که با ویندوز کار می کنند باید از نرم افزارهای کمکی استفاده کنند که مشهورترین و آسانترین نرم افزار ، نرم افزاز Putty می باشد که ابتدا باید این نرم افزار را از این آدرس  دریافت کنید. در مرحله …

اخبار
مایکروسافت، مرکز داده زیردریایی راه اندازی می‌کند

امن سرور – شرکت مایکروسافت در سواحل اسکاتلند، مرکز داده زیردریایی تأسیس می‌کند. این شرکت اعلام کرده است که فاز بعدی پروژه ناتیک، ساخت یک مرکز داده در جزایر اورکنی در سواحل اسکاتلند است. اخیرا شرکت مایکروسافت اعلام کرد که قصد دارد وارد فاز جدیدی از پروژه ناتیک شود. ناتیک، …