Docker یک پلتفرم متن باز ه جهت ساختن و اجرای برنامه های توزیع شده براساس لینوکس برای توسعه دهندگان و مدیران شبکه می باشد. docker اساسا یک موتور کانتینر است که از ویژگی های هسته لینوکس مثل namespaces و control groups استفاده می کند و به شما اجازه ساخت کانتینرها در بالای سیستم عامل و گسترش خودکار برنامه ها در کانتینرها را می دهد.
Docker علاوه بر تامین یک محیط سبک برای اجرای کد برنامه، استفاده از کانتیر به کاربران این امکان را می دهد تا یک برنامه را با تمام ماژول ها و کامپوننت های وابسته آن مانند توابع و کتابخانه ها و … که برنامه برای اینکه به درستی کار کند به آنها نیاز دارد را یکی کرده و به بصورت یک بسته جمع آوری سازد. تا امکان انتقال و اجرای آن برنامه بر روی سیستم های دیگر امکان پذیر می شود.
از آنجا که Docker از هسته لینوکس ماشینی که برنامه روی آن قرار دارد استفاده می کند صرف نظر از تفاوت ها یا تنظیمات سفارشی ، تا زمانی که هر عنصر غیربومی در این بسته گنجانده شود ، برنامه های شما در هر دستگاه لینوکس اجرا می شود. این بدان معنی است که توسعه دهندگان قادر به ایجاد برنامه نویسی بدون نیاز به ایجاد سیستم خاص هستند.