چرا سکان آکادمی؟
آشنایی با موتور داکر Docker Engine

آشنایی با موتور داکر Docker Engine

موتور داکر یک برنامه­ ی کلاینت سروری است که شامل بخش های اصلی زیر می شود:

  • سرور، که یک برنامه long-running است و به آن پردازه ی Daemon گفته می شود (دستور dockerd)

منظور از برنامه های long-running ، برنامه هایی نیستند که همیشه درحال انجام کاری باشند. معمولا پردازه ی این برنامه ها همیشه منتظر هستند تا برای اجرا، دستوری را دریافت کنند. این برنامه ها با اتمام یک بلوک و یا رشته ی نرم افزاری بسته نمی شوند و در شرایط خاصی کارشان خاتمه پیدا می کند. شاید عنوان "long-lived" عبارت قابل فهم­ تری برای این برنامه ها باشد.

پس تعریف پایه ای و عمومی برنامه های long-running اینطور شد. برنامه هایی که همیشه منتظرند تا دستور شروع کار به آنها داده شود.

  • REST API، که رابط هایی را مشخص می کند تا برنامه ها بتوانند از آنها برای صحبت کردن با Daemon استفاده کنند و به آن بگویند که چه کاری را باید انجام بدهد.
  • یک برنامه ی رابط خط فرمان (Command Line Interface)، که همان دستور Docker است. در ادامه خواهیم دید، همه ی دستوراتی که می دهیم با کلمه­ ی Docker شروع ­می شود.
Docker Engine یا موتور داکر چیست؟

همانطور که در تصویر بالا مشاهده می کنید، CLI از REST API برای کنترل و ارتباط با daemon، از طریق اسکریپت و یا دستورات مستقیم CLI استفاده می کند. برنامه­ های مختلفی که برای مدیریت داکر مشاهده می کنید هم دقیقا از همین زیرساخت یعنی API و CLI استفاده می کنند تا خدماتی را به شما بدهند.

این Daemon است که اجزای داکر، از جمله image ، container ، network و volume را می سازد و مدیریت می کند.

داکر تحت گواهینامه متن باز(Open Source) Apache 2.0 است. این گواهینامه بسیار سهل گیر است و پروژه هایی که از آن پیروی کنند برای هر هدفی قابل استفاده اند. از جمله ویژگی های گواهینامه ی آپاچی می بایست به این نکته اشاره کرد که در هر فایلی، می بایست Copy Right، حق ثبت اختراع (Patent)، نشان تجاری و سایر توضیحات توسعه دهنده ی اصلی حفظ شود. علاوه بر این، هر فایلی که تغییر می کند باید شامل متن تغییرات اعمال شده باشد. اگر پروژه ای که تحت گواهینامه ی آپاچی است را مورد استفاده قرار دادیم و این پروژه دارای یک فایل NOTICE یا «توجه» بود، این فایل در هر شرایطی باید در پروژه ی جدید حفظ گردد.

برای مطالعه و آشنایی بیشتر با گواهینامه های نرم افزاری می­توانید به مقاله ی " آشنایی با انواع لایسنس های نرم افزارهای متن باز" رجوع کنید.

دوره در حال تکمیل است ... rocket