vmm: ماشین مجازی سبک روی مک با تجربهی Docker
خلاصهٔ کاملتر
vmm یه ابزار خط فرمانه که میخواد تجربهی Docker رو برای VM ها روی مک بیاره. یعنی بهجای اینکه با VirtualBox یا VMware دستوپنجه نرم کنی، میتونی مثل Docker یه دستور بزنی و یه ماشین مجازی کامل لینوکسی داشته باشی — با ایزولهسازی واقعی VM، نه صرفاً یه کانتینر.
زیر کاپوت، vmm از libkrun استفاده میکنه؛ یه کتابخونه که ماشینهای مجازی سبکوزن میسازه و از Hypervisor.framework اپل بهره میبره. به همین دلیل باینری نهایی باید با entitlement خاص com.apple.security.hypervisor امضا بشه که Makefile پروژه این کار رو خودکار انجام میده.
استفاده ازش خیلی سادهست. مثلاً برای اجرای Fedora با ۴ هسته و ۴ گیگ رم:
vmm run fedora --cpus 4 --memory 4096دستورهای اصلی vmm شامل run، start، stop، rm، ls، attach، inspect و pull میشن — همون چیزی که Docker کارها بهش عادت دارن.
یکی از ویژگیهای جالبش اشتراکگذاری پوشهی home از طریق virtiofs هست؛ یعنی فایلهای مک مستقیم داخل VM در دسترسن. VM ها هم بهصورت خودکار لاگین میشن و مستقیم به یه shell میرسی.
فرآیند داخلی به این شکله: vmm اول با Docker ایمیج رو pull میکنه، بعد لایههای ایمیج رو اکسترکت میکنه تا یه rootfs بسازه، کانفیگهای systemd و کاربر رو اعمال میکنه، کرنل و initrd رو از داخل ایمیج بیرون میکشه، یه دیسک ext4 میسازه و در نهایت VM رو با libkrun بوت میکنه. توزیعهای پشتیبانیشده شامل Fedora (توصیهشده، با کرنل Fedora Asahi)، Ubuntu و Debian میشن.
نکات کلیدی:
- جایگزین سبکوزن VirtualBox/VMware روی مک با رابط آشنای Docker
- مبتنی بر libkrun و Hypervisor.framework اپل
- پشتیبانی از هر ایمیج OCI استاندارد
- اشتراکگذاری پوشهی home مک با VM از طریق virtiofs
- دادههای VM در ~/.vmm ذخیره میشن
- برای pull ایمیجها به Docker نیاز داره




