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


پیش از پرداختن به پودمانهای داکر، بهتره درمورد انواع مجازیسازیها و تفاوتهایشان کمی بدانیم.
در این درسگفتار میآموزی:
- چند نوع مجازیسازی وجود دارد؟
- تفاوت کانتینر با ماشین مجازی چیست؟
توجه. چون علاقه زیادی به آسان کردن [آسانیدن] و باقاعده کردن زبان دارم، واژگان زیادی ساختهام؛ که بدلیل ناشناخته بودن اشان تنها برای شناساندن ازشان استفاده کردهام [استفادهام]. ریشهی بیشتر این واژگان آشکار است؛ و در ویکیواژه تعریفشان کردهام [تعریفتهام اشان] یا خواهم کرد [تعریفینم اشان].
امیدوارم خوشایندت باشد.
دو روش برای مجازیسازی وجود دارد؛ بنامهای:
- ماشین مجازی (Virtual Machine)؛
- کانتینر (Container).
در روش ماشین مجازی، سختافزار مجازیسازی میشود [مجازیزشد]. بعبارتی، یه ماشین مجازی دارای همان سختافزارهای یه ماشین واقعی است؛ ولی از جنس مجازی! و هر کدامشان بشکل مستقل دارای سیستمعامل، فایلهای دودویی، و نرمافزارهای خودش است.


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


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


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


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