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

اگر یک برنامه‌نویس باشید، حتماً میدانید که برای تولید یک برنامه، ابتدا باید یک سری محیط‌های عملیاتی را اجرا کنید. مثلا فرض کنید، شما برنامه‌نویس با زبان برنامه نویسیِ PHP هستید. احتمالاً باید یک وب‌سرور (مثلا آپاچی) را بر روی سیستم خود نصب کنید. احتمالا یک سرور Mysql نیز برای مدیریتِ پایگاه‌داده احتیاج دارید. اگر حرفه‌ای‌تر برنامه نویسید، ممکن است، نیاز داشته باشید که چند ماژولِ اضافی برای PHP نصب کنید و تنظیماتِ مختلفِ آن را انجام دهید. همه ی مواردِ بالا، بایستی بر روی سیستمِ شما انجام شود، و اگر شخص دیگری هم خواست برنامه‌ای که شما نوشته‌اید را توسعه دهد (یا خودتان خواستید، همین برنامه را بر روی یک کامپیوترِ دیگر توسعه دهید)، احتیاج دارید که همه‌ی این ابزارها را نیز، دوباره بر روی آن سیستم نیز، نصب کنید.

داکر این امکان را به شما می دهد،‌ تا با ایجاد یک سری محفظه (Container)، تمامی ابزارهای لازم برای محیطِ توسعه‌ی نرم افزار را، در این محفظه قرار دهید، و هر کجا که خواستید آن را انتقال داده و استفاده کنید. یعنی در مثالِ بالا دیگر احتیاج ندارید هر بار بر روی هر کامپیوتر، تنظیمات PHP و MySQL را انجام دهید، زیرا با نصب نسخه داکرِ آن، تمامی مواردی که نصب یا تنظیم کرده‌اید، برای شما محیا می‌شود. حتی بسیاری از شرکت ها، نیز میتوانند، از داکر (Docker)، در محیط اجرا (Deployment Environment)، استفاده کنند.

اما تفاوت داکر با ماشین‌های مجازی (Virtual Machine) چیست؟

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

برای اطلاعات بیشتر توصیه می شود، سایت داکر را مطالعه کنید