داکر(Docker) یک پلتفرم متن باز است که به توسعهدهندگان این امکان را میدهد تا با استفاده از کانتینرها نرمافزارها را طراحی، اجرا، و مدیریت کنند. مؤلفههای استاندارد و اجرایی که کد منبع برنامه را با کتابخانههای سیستم عامل (OS) و وابستگیهای مورد نیاز برای اجرای آن کد را در هر محیطی ترکیب میکنند.
کانتینرها توسعه و تحویل برنامههای کاربردی توزیعشده را ساده تر کردند و با تغییر مسیر سازمانها به سمت توسعه فضای ابری محبوبیت زیادی به دست آوردند.
توسعه دهندگان می توانند بدون داکر با قابلیت های لینوکس و سایر سیستم عامل ها کانتینرها را بسازند، اما داکر ساخت کانتینرها را سریعتر، آسانتر و ایمنتر میکند.
برای درک بهتر پاسخ به سؤال داکر چیست، میتوان گفت که بیش از ۱۳ میلیون توسعه دهنده نرم افزار از این پلتفرم متن باز استفاده میکنند.
شناخت بهتر کانتینر
کانتینر، نرم افزار مجازی سازی در سطح سیستم عامل است.کانتینرها در برنامه نویسی شامل آبجکتهایی هستند که تمام ویژگی های لازم برای اجرای موارد تکرار شونده را دارند.
Container ها مانند برنامههای نرم افزاری سنتی که به شما اجازه میدهند مستقل از نرم افزارهای دیگر و خود سیستم عامل کار کنید، نصب نمیشوند.
مهمترین دغدغه کانتینرها این است که چگونه محیطی فراهم کنند تا نرم افزارهایی که در یک محیط پردازشی اجرا میشوند با انتقال به محیط دیگر، بدون ایراد و مشکل اجرا شوند.
داکر چه عملکردی دارد؟
اصلی ترین هدف داکر ساخت و ایجاد یک فضای ایزوله برای اجرای مستقل از هم و و نصب وابستگی ها (dependencies) برای هر اپلیکیشن است.
با استفاده از این پلتفرم میتوانید چندین فضای نام مستقل برای کانتینرها ایجاد و برنامههای خود را در آنها اجرا کنید.
کانتینر ها از یک سیستم عامل مشترک استفاده می کنند که داکر برای ایجاد این کانتینرها و فراهم سازی منابع موردنیاز آنها از مجازی سازی استفاده می کند و شاید فکر کنید این همان ماشین مجازی است که چند سیستم عامل را روی یک سیستم عامل نصب می کند و منابع مشخصی را برای هر کدام تعیین می کند اما چنین نیست.
تفاوت های مهمی بین این کانتینر ها و ماشین مجازی وجود دارد. مهم ترین آن این است که کانتینر ها سریع تر، سبک تر و کارآمدتر هستند.
چرا داکر محبوب است؟
از مهم ترین دلایل محبوبیت داکر این است که با استفاده از آن، فایل داکر برنامه ای که توسعه داده اید را ایجاد می کنید و سپس می توانید تصویر این فایل را در سیستم های دیگر اجرا کنید.
با این دسترسی، دیگر نیازی به آماده سازی پیش نیاز های مربوط به اپلیکیشن را ندارید چون هر سیستمی که قصد اجرای این فایل و ایجاد تصویر و کانتینر از روی آن را دارد از محیط توسعه مشابه محیط شما بهره مند می شود.انگار یک کپی از محیطی که شما هنگام توسعه برنامه ایجاد کرده اید، همراه فایل به سیستم های دیگر ارائه می شود.
برای مطالب بیشتر به بخش دانستنی مراجعه کنید.