آشنایی با داکر (Docker)

داکر یک محصول اپن سورس است که فرایند ایجاد، توسعه و اجرا کردن اپلیکیشن ها با استفاده از یک سری محفظه را ایجاد می کند.

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

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

داکر این امکان را به شما می دهد،‌ تا با ایجاد یک سری محفظه(Container)، تمامی ابزارهای لازم برای محیط توسعه نرم افزار را، در این محفظه قرار دهید، و هر کجا که خواستید آن را انتقال داده و استفاده کنید.حتی بسیاری از شرکت ها، نیز میتوانند، از داکر(Docker)، در محیط اجرا، استفاده کنند.

تفاوت داکر با ماشین های مجازی(Virtual Machine) چیست؟
اگر با ماشین های مجازی کار کرده باشید، میدانید که این ماشین ها، نیز همین کار را برای کاربران انجام می دهند. تفاوت اصلی داکر، با ماشین های مجازی، این است در داکر، بر خلاف ماشین های مجازی، کل سیستم عامل ذخیره نمی شود و فقط کتابخانه ها و تنظیمات مورد نیاز، در داکر ذخیره می شود.
از مزایای استفاده از داکر نسبت به مجازی ساز می‌توان به موارد زیر اشاره کرد:
ایجاد و حذف بسیار سریع Container ها
ریستارت و خاموش کردن بسیار سریع
انتقال پذیری راحت و سبک
مدیریت منابع و ریسورس‌ها به صورت قدرتمند و متغیر
و …

داکر Image :

در داکر Image‌ها را پس از دریافت اجرا می‌کنیم. همانطور که در بالا می‌بینید یک Base Image مانند Debian روی این داکر نصب شده است و روی آن Image‌های دیگر را نصب کرده ایم.

Image‌ها پس از پایان به حالت اولیه خود باز می‌گردند چون همانطور از نام آن‌ها مشخص است تنها یک تصویری از پکیج اصلی هستند. برای حذف تغییرات Image می‌توان حالت آن‌ها را با دستورات خاصی ذخیره کرد.

Docker Hub چیست؟

یک سرویس اشتراک گذاری تهیه شده توسط شرکت داکر است که شامل مخزنی از image‌های آماده برای Docker است.

این مخزن حاوی ده‌ها هزار برنامه و سیستم عامل است که می‌توان به آن image‌هایی را هم اضافه کرد.

داکر Container :
در واقع می‌توان گفت Container ظرفی است که Image‌ها را در آن اجرا می‌کنند. Container‌ها از روی Image‌ها ایجاد می‌شوند و به وظایف خود عمل می‌کنند. مثلا فرض کنید از یک Centos چند Container می‌سازیم و در هر کدام تغییرات متفاوتی اعمال می‌کنیم.داکر