آموزش لینوکس - Docker - بخش اول
پیش از اینکه داکر را معرفی کنیم لازم است که روش مجازی سازی استفاده شده در آن را بررسی کنیم:
🔸مجازی سازی در سطح نرم افزار: در این روش از قابلیت ویژه ای در کرنل سیستم عامل که اجازه میزبانی از User Space های متعدد و مجزا از یکدیگر را میدهد استفاده می شود. از این قابلیت سال ها است که در سیستم عامل لینوکس و شبه یونیکس (Unix-Like) استفاده شده است و اسامی دیگری همچون chroot، jail، partions برای این instanceهای مجزا از یکدیگر وجود داشته است که آن ها را کانتینر می نامیم.
🔸اصطلاح مجازی سازی ما را به اشتباه نیندازد، نکته مهم این است که کانتینر یک ماشین مجازی نیست و به طور کلی فرآیند Emulation و یا Binary translation که در مجازی سازی VMware vSphere Hypervisor (ESXi) و یا Xen HVM رخ میدهد در اینجا مطلقا وجود ندارد. تصورات قبلی را از سر خود بیرون کنید تا در آینده دچار پارادوکس نشوید.
🔸در شکل کلاسیک برنامه و نرم افزارها به همه منابع سیستم دسترسی دارند اما در این نوع مجازی سازی دسترسی صرفا به منابع اختصاص داده شده به کانتینر وجود دارد.
🔸شاید بسیاری از ادمین ها پیش از این تجربه کار با chroot را داشته باشند که در آن عملا شاخه root برای یک پروسه و childهای آن تغییر میکند و نتیجه آن امنیت، کارایی و به حداقل رساندن تاثیر کانتینر بر سیستم عامل میزبان و سایر پروسه ها است.
در پست بعدی به معرفی داکر و رویکرد منحصر به فرد آن در حل مشکلات و افزایش کارایی خواهیم پرداخت.
استفاده از مطلب، با ذکر منبع بلامانع است.