ویرگول
ورودثبت نام
محمد علی امینی
محمد علی امینی
خواندن ۲ دقیقه·۳ سال پیش

خودآموز داکر: درس ۰۲ - انواع مجازی‌سازی

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

در این درسگفتار می‌آموزی:

  • چند نوع مجازی‌سازی وجود دارد؟
  • تفاوت کانتینر با ماشین مجازی چیست؟

توجه. چون علاقه زیادی به آسان کردن [آسانیدن] و باقاعده کردن زبان دارم، واژگان زیادی ساخته‌ام؛ که بدلیل ناشناخته بودن اشان تنها برای شناساندن ازشان استفاده کرده‌ام [استفاده‌ام]. ریشه‌ی بیشتر این واژگان آشکار است؛ و در ویکی‌واژه تعریفشان کرده‌ام [تعریفته‌ام اشان] یا خواهم کرد [تعریفینم اشان].
امیدوارم خوشایندت باشد.
سخنی با خواننده. قصد دارم [قصتادم] خودآموز داکر را از پایه برای برنامه‌نویسان تازه‌کاری که هیچ آشنایی با داکر ندارند بنویسم. ولی چون امکان دسته‌بندی [گروهیستن] مقاله‌ها در ویرگول وجود ندارد، عنوان مقاله‌های این مجموعه را همانند زیر می‌گذارم:
خودآموز داکر: درس <شماره درس> - <موضوع درس>
که «شماره درس» از ۰۱ شروع شده [شروعارده]. پس، بعنوان مثال، برای یافتن درسگفتار یکم کافیه عبارت «خودآموز داکر: درس ۰۱» را در ویرگول جستجو کنی [بجویی].

دو روش برای مجازی‌سازی وجود دارد؛ بنام‌های:

  • ماشین مجازی (Virtual Machine)؛
  • کانتینر (Container).

در روش ماشین مجازی، سخت‌افزار مجازی‌سازی می‌شود [مجازیزشد]. بعبارتی، یه ماشین مجازی دارای همان سخت‌افزارهای یه ماشین واقعی است؛ ولی از جنس مجازی! و هر کدامشان بشکل مستقل دارای سیستم‌عامل، فایل‌های دودویی، و نرم‌افزارهای خودش است.

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

ولی در روش کانتینر، «سیستم‌عامل» مجازی‌سازی می‌شود؛ یعنی یه سیستم‌عامل، بنام هسته، دستورهای هر کانتینر را متناسب با محتوای خودش (شامل فایل‌های دودویی، نرم‌افزارها، و ...) اجرا می‌کند [می‌اجراید]. و اینجوری بنظر می‌رسد که هر کانتینر دارای سیستم‌عامل خودش است.

اجرا شدن (اجرایشتن) چند کانتینر با یه تک سیستم‌عامل
اجرا شدن (اجرایشتن) چند کانتینر با یه تک سیستم‌عامل


تفاوت ماشین مجازی با کانتینر

بنابر مطالبی که بیان شد، ماشین مجازی با کانتینر دارای تفاوت‌های زیر است:

  • مجازی‌سازی در ماشین مجازی در سطح سخت‌افزار است، ولی در کانتینر در سطح سیستم‌عامل؛
  • در ماشین مجازی مجزاسازی [مجزایش] (Isolation) با مستقل‌سازی [مستقلیدن] ماشین‌ها انجام می‌شود، ولی در کانتینر با ایجاد پردازش‌های مستقل؛
تفاوت ماشین مجازی با کانتینر
تفاوت ماشین مجازی با کانتینر

در کانتینر سیتم‌عامل، فایل‌های دودویی، و نرم‌افزار‌ها می‌تواند بین چندین کانتینر به‌اشتراک گذاشته شود.

اشتراکیدن لایه‌ها بین کانتینرها
اشتراکیدن لایه‌ها بین کانتینرها

خلاصه، کانتینر برای مجازی‌سازی [مجازیدن] سیتم‌عامل است، بطوریکه چندین بارکاری (workload) بتواند توسط یه تک سیستم‌عامل اجرا شود [اجرایشد]، ولی ماشین مجازی برای مجازی‌سازی سخت‌افزار.

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

خودآموزداکرتفاوتماشین مجازیکانتینر
توسعه‌دهنده سایت با چارچوب جنگو
شاید از این پست‌ها خوشتان بیاید