داکر یک پلتفرم نرمافزاری است که امکان ساخت، اجرا، مدیریت و توزیع اپلیکیشنهای کانتینربندی شده را فراهم میکند. کانتینرها واحدهای نرمافزاری هستند که کدها و تمام متعلقات آنها را بستهبندی میکنند و در محیطهای مختلف به صورت سریع و قابل اطمینان اجرا میشوند. داکر از مجازیسازی در سطح سیستم عامل استفاده میکند و نسبت به ماشینهای مجازی منابع کمتری را مصرف میکند.داکر در سال ۱۳۹۲ خورشیدی (۲۰۱۳ میلادی) منتشر شد و با زبان برنامه نویسی گو نوشته شده است. داکر ابزاری متن باز است و کدهای آن بر روی گیت هاب قرار دارد.اطلاعات کامل
مزایای داکر
داکر مزایای زیادی برای توسعهدهندگان و مدیران سیستم دارد. برخی از این مزایا عبارتند از:
- امکان اشتراکگذاری آسان و سریع کانتینرها و تصاویر داکر بین محیطهای مختلف
- امکان سورس کنترل در زمان کوتاه و در یک محیط
- قابلیت مقیاسپذیری بالا و امکان اجرای چندین کانتینر به صورت همزمان
- امکان اجرا و استقرار با منابع سختافزاری کمتر نسبت به ماشینهای مجازی
- سرعت در توسعه، راحتی در ساخت نمونهها و سرعت در تحویل
- قابلیت حمل و اجرای برنامهها در هر پلتفرمی
- عملکرد پردازشی عالی و کاهش هدر رفت منابع
- چابکی در تست و اجرا و کاهش خطاهای ناشی از تفاوت محیطها
عملکرد داکر
داکر با استفاده از دو قابلیت مهم موجود در کرنل لینوکس به نامهای Cgroups و Namespase امکانی را فراهم میکند که پروسهها و نرمافزارها به صورت مجزا در محیط کاملا ایزولهای بر روی کرنل لینوکس راهاندازی شود³. به این محیط و بستهی ایزوله، کانتینر گفته میشود. کانتینرها واحدهای نرمافزاری هستند که کدها و تمام متعلقات آنها را بستهبندی میکنند و در محیطهای مختلف به صورت سریع و قابل اطمینان اجرا میشوند.
داکر یک پلتفرم نرمافزاری است که عملیات ساخت، اجرا، مدیریت و توزیع کانتینرها را سادهتر میکند. داکر از معماری کلاینت-سرور استفاده میکند و شامل اجزای زیر است.آموزش داکر
- کلاینت داکر: بخشی است که با استفاده از Docker API با دامون داکر ارتباط برقرار میکند و دستورات را به آن ارسال میکند.
- دامون داکر: بخشی است که در پشت صحنه در حال اجرا است و توانایی ایجاد و مدیریت تصاویر، کانتینرها، شبکهها و حافظه را دارد.
- REST API: بخشی است که برای تعامل با سرور داکر توسط برنامههای دیگر مورد استفاده قرار میگیرد.
- Command Line Interface (CLI): بخشی است که برای وارد کردن دستورات داکر توسط کاربران مورد استفاده قرار میگیرد.
برای ساخت یک کانتینر داکر، نیاز به چند گام داریم:
- ساخت یک فایل داکر (Dockerfile): فایل داکر شامل تعدادی دستورالعمل است که نشان میدهد چگونه یک تصویر (Image) داکر ساخته شود. در این فایل، مشخص میشود که چه پایگاه (Base)، چه فایلهای منبع (Source)، چه پروسهای (Process) و چه پورت (Port) باید در تصویر قرار گیرد.
- ساخت یک تصویر داکر (Docker Image): تصویر داکر چیدمان ثابت (Snapshot) از یک کانتینر است که حاوی نسخۀ منجمد شده (Frozen) از نرمافزار و تمام وابستگیهای آن است. تصویر داکر با اجرای دستور `docker build` بر اساس فایل داکر ساخته میشود و در یک مخزن (Repository) ذخیره میشود.
- اجرای یک کانتینر داکر (Docker Container): کانتینر داکر یک نمونه قابل اجرا از یک تصویر داکر است که میتواند بر روی هر ماشینی که داکر را نصب کرده باشد، اجرا شود. کانتینر داکر با اجرای دستور `docker run` بر اساس یک تصویر داکر ایجاد میشود و در حالت فعال (Active) قرار میگیرد.بیشتربخوانید
داکر یک پلتفرم نرمافزاری است که امکان ساخت، اجرا، مدیریت و توزیع اپلیکیشنهای کانتینربندی شده را فراهم میکند. کانتینرها واحدهای نرمافزاری هستند که کدها و تمام متعلقات آنها را بستهبندی میکنند و در محیطهای مختلف به صورت سریع و قابل اطمینان اجرا میشوند. داکر از مجازیسازی در سطح سیستم عامل استفاده میکند و نسبت به ماشینهای مجازی منابع کمتری را مصرف میکند.داکر در سال ۱۳۹۲ خورشیدی (۲۰۱۳ میلادی) منتشر شد و با زبان برنامه نویسی گو نوشته شده است. داکر ابزاری متن باز است و کدهای آن بر روی گیت هاب قرار دارد.اطلاعات کامل
مزایای داکر
داکر مزایای زیادی برای توسعهدهندگان و مدیران سیستم دارد. برخی از این مزایا عبارتند از:
- امکان اشتراکگذاری آسان و سریع کانتینرها و تصاویر داکر بین محیطهای مختلف
- امکان سورس کنترل در زمان کوتاه و در یک محیط
- قابلیت مقیاسپذیری بالا و امکان اجرای چندین کانتینر به صورت همزمان
- امکان اجرا و استقرار با منابع سختافزاری کمتر نسبت به ماشینهای مجازی
- سرعت در توسعه، راحتی در ساخت نمونهها و سرعت در تحویل
- قابلیت حمل و اجرای برنامهها در هر پلتفرمی
- عملکرد پردازشی عالی و کاهش هدر رفت منابع
- چابکی در تست و اجرا و کاهش خطاهای ناشی از تفاوت محیطها
عملکرد داکر
داکر با استفاده از دو قابلیت مهم موجود در کرنل لینوکس به نامهای Cgroups و Namespase امکانی را فراهم میکند که پروسهها و نرمافزارها به صورت مجزا در محیط کاملا ایزولهای بر روی کرنل لینوکس راهاندازی شود³. به این محیط و بستهی ایزوله، کانتینر گفته میشود. کانتینرها واحدهای نرمافزاری هستند که کدها و تمام متعلقات آنها را بستهبندی میکنند و در محیطهای مختلف به صورت سریع و قابل اطمینان اجرا میشوند.
داکر یک پلتفرم نرمافزاری است که عملیات ساخت، اجرا، مدیریت و توزیع کانتینرها را سادهتر میکند. داکر از معماری کلاینت-سرور استفاده میکند و شامل اجزای زیر است.آموزش داکر
- کلاینت داکر: بخشی است که با استفاده از Docker API با دامون داکر ارتباط برقرار میکند و دستورات را به آن ارسال میکند.
- دامون داکر: بخشی است که در پشت صحنه در حال اجرا است و توانایی ایجاد و مدیریت تصاویر، کانتینرها، شبکهها و حافظه را دارد.
- REST API: بخشی است که برای تعامل با سرور داکر توسط برنامههای دیگر مورد استفاده قرار میگیرد.
- Command Line Interface (CLI): بخشی است که برای وارد کردن دستورات داکر توسط کاربران مورد استفاده قرار میگیرد.
برای ساخت یک کانتینر داکر، نیاز به چند گام داریم:
- ساخت یک فایل داکر (Dockerfile): فایل داکر شامل تعدادی دستورالعمل است که نشان میدهد چگونه یک تصویر (Image) داکر ساخته شود. در این فایل، مشخص میشود که چه پایگاه (Base)، چه فایلهای منبع (Source)، چه پروسهای (Process) و چه پورت (Port) باید در تصویر قرار گیرد.
- ساخت یک تصویر داکر (Docker Image): تصویر داکر چیدمان ثابت (Snapshot) از یک کانتینر است که حاوی نسخۀ منجمد شده (Frozen) از نرمافزار و تمام وابستگیهای آن است. تصویر داکر با اجرای دستور `docker build` بر اساس فایل داکر ساخته میشود و در یک مخزن (Repository) ذخیره میشود.
- اجرای یک کانتینر داکر (Docker Container): کانتینر داکر یک نمونه قابل اجرا از یک تصویر داکر است که میتواند بر روی هر ماشینی که داکر را نصب کرده باشد، اجرا شود. کانتینر داکر با اجرای دستور `docker run` بر اساس یک تصویر داکر ایجاد میشود و در حالت فعال (Active) قرار میگیرد.بیشتربخوانید

تجربه واقعیت مجازی و واقعیت افزوده: آینده تفریح و آموزش