آموزش داکر (Docker)

دسته بندی: فریمورک ها

داکر

در این صفحه می خوانید ؟

تاریخچه داکر

داکر برای اولین بار در سال 2010 به عنوان یک شرکت سرویس پلتفرم به نام dotCloud توسط Solomon Hykes و Sebastien Pahl شروع به کار کرد و در سال 2011 به بهره برداری رسید. Solomon Hykes داکر را در فرانسه به عنوان یک پروژه داخلی در dotCloud شروع کرد. داکر نشان دهنده تکامل تکنولوژی انحصاری dotCloud است که خود بر روی پروژه های پیشین مانند Cloudlets ساخته شده است. Docker به عنوان نرم افزار اوپن سورس در مارس 2013 منتشر شد. در تاریخ 13 مارس 2014، با انتشار نسخه 0.9، Docker LXC را به عنوان محیط اجرای پیش فرض رها کرد و آن را با کتابخانه libcontainer خود که در زبان برنامه نویسی GO نوشته شده است جایگزین کرد.

معرفی داکر

هر برنامه ای در قالب کانتینر باید محیطی برای اجرای سخت افزار و سیستم عامل داشته باشد. داکر یک پلتفرم اوپن سورس است که با ساخت Container امکان داشتن محیطی برای توسعه نرم افزار فراهم می کند. امکان استفاده از کرنل سیستم عاملی که بر روی نرم افزار نصب شده را مهیا می سازد و در نتیجه سبک تر از ماشین های مجازی می باشد. داکر برنامه کامپیوتری است که مجازی سازی در سطح سیستم عامل را انجام می دهد، همچنین به عنوان "containerization" شناخته می شود. کاربرد اصلی داکر برای توسعه دهندگان جهت ساخت اپلیکیشن می باشد. علاوه بر این برای مدیران شبکه نیز کاربرد دارد. می توانید سیستم عامل و ابزارهای مورد نیاز را سریع نصب کنید و نرم افزار خود را تست کنید و هنگام اتمام کار محیط تست را پاک کنید. بیشتر از آن، داکر یک ابزار محبوب برای توسعه، راه اندازی و اجرای برنامه ها با استفاده از کانتینر است. کانتینر به ما این اجازه را می دهد همه چیزهایی که برنامه کاربردی ما مانند کتابخانه ها و دیگر وابستگی ها نیاز دارد، بسته بندی کنیم و آن را به عنوان یک بسته واحد حمل کنیم. به این ترتیب، برنامه ما می تواند بر روی هر دستگاه اجرا شود و رفتار مشابهی داشته باشد. کانتینرهای Docker همه جا هستند از جمله لینوکس، ویندوز، مرکز داده، ابر، Serverless و غیره.

اجزای تشکیل دهنده داکر

داکر به عنوان یک سرویس ارائه خدمات شامل سه قسمت است:

نرم افزار: Docker daemon که dockerd نامیده می شود، یک فرایند مداوم است که کانتینرهای داکر و اشیاء کانتینر را مدیریت می کند. این سرویس برای درخواست های فرستاده شده از طریق API Docker Engine گوش می دهد. برنامه کلاینت که Docker نامیده می شود رابط کاربری خط فرمان را فراهم می کند و به کاربران اجازه می دهد با Docker daemon ارتباط برقرار کنند.

اشیا: اشیا داکر، اجزای مختلفی هستند که برای گرد آوری یک برنامه در Docker استفاده می شوند. کلاس های اصلی اشیاء Docker عبارتند از: ایمیج ها، کانتینر ها و سرویس ها. کانتینر Docker یک محیط استاندارد و محصور شده است که برنامه ها را اجرا می کند. ایمیج Docker یک قالب فقط خواندنی است که برای ساختن کانتینر استفاده می شود. ایمیج برای ذخیره و ارسال برنامه ها مورد استفاده قرار می گیرند. سرویس Docker اجازه می دهد تا کانتینر در چندین Daemon Docker مقیاس شود. این نتیجه که به عنوان یک گروه شناخته می شود، مجموعه ای از همکاری Daemons ها است که از طریق API Docker ارتباط برقرار می کنند.

Registries: داکر رجیستری یک مخزن برای ایمیج های داکر است. کلاینت های داکر برای ثبت ایمیج ها برای دانلود از "pull" و برای استفاده یا آپلود از "push" ایمیج هایی که ساخته شده اند،به رجیستری متصل می شوند. رجیستری می تواند عمومی یا خصوصی باشد. دو رجیستر اصلی عمومی Docker Hub و Docker Cloud هستند.

ویژگی های داکر

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

ویژگی داکر

از دیگر مزایای استفاده از داکر می توان به موارد زیر اشاره کرد:

  • ساخت و حذف سریع Container ها
  • تسریع در ریستارت و خاموش کردن
  • انتقال پذیری آسان
  • مدیریت منابع و ریسورس ها
آیا این نوشته را دوست داشتید؟