ا Containerها راهحلهایی هستند بهمنظور کسب اطمینان از اینکه نرمافزار هنگام جابهجایی از یک محیط اولیه به محیط ثانویه بهصورت مطمئن اجرا شود و بر بستر Docker قرار میگیرند.
ا Containerها به توسعهدهنده این اجازه را میدهد تا تمام بخشهای مورد نیاز مانند کتابخانهها و دیگر وابستگیها را بستهبندی کرده و بهعنوان یک پکیج مستقل روی سیستمهای دیگر استفاده کند.باید توجه داشت که Containerها قبلاز پدید آمدن Docker نیز وجود داشتند اما این Docker بود که مفهوم Containerها را متحول کرد. Container ها نسبتبه ماشینهای مجازی از منابع کمتری استفاده میکنند و همچنین خیلی سریع قابلیت اجرا پیدا میکند.
ا Containerها به ۳ بخش تقسیم میشوند :
۱)سازنده(builder) : فناوری مورد استفاده برای ساخت کانتینر.
۲)موتور (Engine) : فناوری مورداستفاده برای راهاندازی کانتینر
۳)تنظیم(Orchestration) : فناوری مورداستفاده برای مدیریت و تنظیمات کانتینر
مزایای Container : چابک بودن و کارایی بالا، قابل حمل و سبک بودن، قابل مقیاس پذیری با سرعت بالا و نگهداری، امنیت داکر.
ا Docker : ابزاری متن باز جهت سادهسازی در ساخت و اجرای برنامهها با استفاده ازContainerها میباشد و این اجازه را به ما میدهد تا برنامه و تمام کامپوننت های آن را به شکل یک بسته درآورده و در هر ماشینی بدون نیاز به انجام تنظیماتی که ماشین مبداء داشته آن را اجرا کنیم.مهمترین هدف ایجادDocker این بود که کاربران بهراحتی بتوانند باContainerارتباط برقرار کنند یا به نوعی دیگر با آن تعامل داشته باشند.
مزایاییDocker :
قابلیت حملونقل و بهبود یکپارچه، حجم کم و بروزرسانی بسیار دقیق، ایجاد کانتینر بهصورت خودکار، داشتن نسخه پشتیبان از کانتینر
اجزای اصلیDocker شامل ۳دسته Docker Daemon،DockerCLI،Docker Imageمی باشد.
موارد استفاده از Docker :
اگر برنامه شما در یکی از شاخههای زیر قرار میگیرد استفاده ازDocker پیشنهاد میشود:
۱ )یادگیری تکنولوژیهای جدید
۲) ایزوله کردن برنامه باید توجه داشت در زمانیکه برنامه پیچیده است و یا مدیر سیستم وجود ندارد و یا نیاز به بهترین کارایی ممکن را دارید استفاده ازDockerتوصیه نمیشود.
منابع :
https://www.docker.com/resources/what-container/
https://www.alibabacloud.com/knowledge/what-is-containerization