کانتینر (Container):

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

کانتینر (Container) چیست ؟

کانتینر داکر (Docker Container) از تصویر داکر (Docker Image) ساخته می شود. اگر فرض کنید تصویر داکر یک دستور آشپزی باشد، کانتینر داکر یک ظرف آماده شده از آن دستور آشپزی است.

یک تصویر کانتینر (Container Image) نسخه سبک، مستقل و بسته قابل اجرا از بخشی از نرم افزار می باشد که شامل هر آن چیزی است که نیاز به اجرا دارد: کد، ابزار سیستم، کتابخانه سیستم و تنظیمات.

کانتینر (Container) نرم افزار را از فضای اطراف آن ایزوله می کند، برای مثال فضای بین توسعه (Development) و راه اندازی نهایی نرم افزار و کمک می کند تداخل بین تیم های مختلف برای اجرای یک نرم افزار برروی یک زیرساخت مشترک کاهش یابد.

به طور کلی برای فهم تصویر داکر، ما می بایست آن را اجرا نماییم و هنگامیکه می خواهیم تصویر داکر را اجرا کنیم یک کانتینر داکر می سازیم.

بسته نرم افزاری در واحد استاندارد برای توسعه، نقل و انتقال و گسترش

یک کانتینر داکر (Docker Container) یک واحد استانداردسازی شده از نرم افزار است که بسته های کد و هر آن چه به آن نیاز دارد تا اپلیکیشن به سرعت و پایدار اجرا شود و از یک واحد پردازش به واحد دیگر منتقل گردد را در خود گنجانده است.

نمایه داکر (Docker Image) اساس یک کانتینر داکر را تشکیل می دهند که نیاز اولیه برای اجرا آن است و هنگامیکه در موتور داکر (Docker Engine) قرار می گیرند اجرا می شوند.

کانتینر داکر (Docker Container) برای اپلیکیشن ها تحت ویندوز و لینوکس قابل استفاده هستند به طوریکه نرم افزارهای کانتینری همواره به یک شکل واحد و بدون وابستگی به زیرساخت اجرا می شوند.

کانتینرهای داکر که برروی موتور داکر اجرا می شوند خصوصیات زیر را دارا هستند:

  • استاندارد: داکر یک صنعت استاندارد برای ایجاد کانتینر می باشد، پس به صورت پرتابل قابل حمل و انتقال به هر کجا می باشند.
  • سبک و ساده: کانتینرهای داکر از کرنل سیستم عامل به صورت اشتراکی استفاده می کند پس نیازی به سیستم عامل برای هر اپلیکیشن وجود ندارد پس کارآمدی آن ها بسیار بالا و هزینه سرور و نگهداری آن ها کاهش می یابد.
  • ایمن: اپلیکیشن ها بسیار ایمن تر در داخل کانتینرها هستند و داکر قوی ترین حالت ایزوله سازی را در این صنعت به کار گرفته است.

کانتینر داکر (Docker Container): ویندوز، لینوکس، مرکزداده، بستر ابری و …

کانتینرهای داکر بدون در نظر گرفتن سیستم عامل می توانند برروی هر بستری راه اندازی شوند و شما حساس به سیستم عامل و بستر نیستید و این خصوصیت این امکان را فراهم می کند که یک کانتینر را همواره بتوانید بدون تغییر به بستر یا سیستم دیگری منتقل کنید.

عدم نیاز به سیستم عامل و بستر خاص موجب کارآیی بیشتر کانتینرهای داکر می شود و کارآمدی این سیستم را چندین برابر می کند.

مقایسه بین کانتینر داکر و سرور مجازی

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

کانتینرها (Containers) قابلیت جابجایی ساده تر و کارآمدتر و بهره ور تر از سرور مجازی هستند.

سرور مجازی

سرور مجازی یا ماشین های مجازی (Virtual Machines) با کوچک سازی و خلاصه کردن سخت افزار فیزیکی یک سرور یا به چندین سرور تبدیل می کنند. مجازی ساز (hypervisor) این امکان را می دهد که چندین ماشین مجازی را برروی یک سیستم اجرا نمایید. هر سرور مجازی شامل نسخه کاملی از سیستم عامل، اپلیکیشن و کتابخانه های مورد نیاز آن می باشد که منابع زیادی از قبیل رم (RAM) و فضا (Storage) را مصرف می کند. ماشین ها و سرور مجازی در زمان بوت و اجرا کند هستند.

کانتینر

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