موضوع کانتینرها و فناوری داکر بحث جدید و داغی است که اخیرا درمیان تیم های توسعه دهنده نرم افزاری و تیم های عملیاتی رواج پیدا کرده است. قطعا رویکردهای جدید همچون DevOps و استفاده از این متدولوژی همسو با تحولات و تکامل تولید نرم افزار موضوعی است که محبوبیت این تکنولوژی ها را افزون خواهد کرد. در سری مقالاتی قصد دارم تا مروری بر موضوعات مربوط به فناوری کانتینر و پیاده سازی آن داشته باشم. اما برای شروع بد نیست ابتدا با مفهوم کانتینر و سپس پلتفرم داکر که اخیرا بعنوان تکنولوژی پرکاربرد کانتینرهاست آشنا شویم.
فناوری کانتینر چیست؟
شاید بتوان کانتینر را یک واحد نرم افزاری استاندارد برای بسته بندی، توسعه و گسترش اپلیکشن ها نامگذاری کنیم. در حقیقت، این واحد نرم افزاری می تواند کدهای نرم افزاری شما را با تمام توابع کتابخانه ای و وابستگی های نرم افزاری بسته بندی نماید تا شرایط اجرا و انتقال اپلیکشن بر روی هر محیطی فراهم شود. برای مثال و توضیح بیشتر، درنظر بگیرید که اپلیکشن خاص قرار است در قالب یک ماشین مجازی نصب و راه اندازی شود و از آنجایی که تخصیص بخشی از منابع به ماشین مجازی و سیستم عامل مربوطه باعث هدررفتن منابع می شد، به فکر ارائه راهکار جدیدی بودند تا فارغ از سیستم عامل امکان اجرا و توسعه نرم افزار فراهم شود. از این رو، فناوری کانتینر جهت ایزوله کردن یک نرم افزار و اجرای آن با تمام وابستگی هایش و بدون نیاز به اجرای یک سیستم عامل خاص فراهم شد. از این رو، یک نرم افزار بسرعت و با قابلیت اطمینان بالا میتواند در محیط های مختلف به اجرا درآید.
پلتفرم داکر چیست؟
برای استفاده از کانتینرها پلتفرمی به نام داکر (Docker) ارائه شد. این پلتفرم با ایجاد یک لایه نرم افزاری بر روی سیستم عامل هاست و سخت افزار، امکان به اشتراک گذاری سیستم عامل (هسته) و دسترسی اپلیکشن ها به سخت افزار سیستم را فراهم می کند. شاید تعریف درستی از داکر را بتوان با این جمله بیان کرد.
Build any app, Ship any where, Run any where

- ایجاد و حذف بسیار سریع Container ها در چند ثانیه
- امکان خاموش روشن کردن هر کانتینر و اپلیکشن داخلی آن
- فراهم آوردن شرایط انتقال پذیری با رعایت سازگاری کامل
- مدیریت بهینه منابع مصرفی
- توسعه پذیری بسیار بالا در زمان افزایش IO
- و …
در مقالات دیگر به سراغ معماری داکر و اجزاء آن خواهم رفت و شما را با نحوه راه اندازی و مدیریت کانتینرها با فناوری داکر و کوبرنیتز آشنا خواهم کرد. چنانچه نقطه نظرات و پیشنهاداتی در حوزه فناوری های جدید دارید با ما به اشتراک بگذارید.