Docker Desktop has always leaned on someone else's virtualization tech โ Apple's framework on Mac, WSL2 or Hyper-V on Windows. As of Docker Desktop v4.86, that changes: Docker shipped its own first-party hypervisor, called Docker VMM, now in public beta on Mac and Windows, with GA targeted for end of October 2026. This post explains what a VMM even is, why Docker built one, and exactly how to try it โ for beginners and pros alike.
Download the latest version of Docker Desktop here choose the operating system according to what machine and where you want to install it
๐ง Core Concept: What's a VMM, and Why Does It Matter?
Docker Desktop doesn't run containers directly on macOS or Windows โ neither OS ships a native Linux kernel. So Docker spins up a lightweight Linux VM in the background, and your containers actually run inside that. The Virtual Machine Manager (VMM) is the software layer that creates and manages this VM โ the engine room nobody sees, until it's slow.
Before Docker VMM, that middle layer was third-party: Apple Virtualization Framework or legacy HyperKit/QEMU on Mac, WSL2 or Hyper-V on Windows. Docker VMM replaces it with Docker's own hypervisor, purpose-built for container workloads instead of general-purpose VMs.
๐ Check what you're running right now
Skip the Settings UI โ confirm your current engine straight from the terminal:
# Confirm Docker Desktop is running and see the active context
docker desktop status
Docker Desktop is running
# See kernel + OS details of the Linux VM your containers run inside
docker info --format 'OS: {{.OperatingSystem}} | Kernel: {{.KernelVersion}}'
OS: Docker Desktop | Kernel: 6.10.14-linuxkit
Reference: docs.docker.com/reference/cli/docker/desktop/status ยท docs.docker.com/reference/cli/docker/system/info
๐ฏ Try this now: open Docker Desktop โ Settings โ General โ Virtual Machine Manager โ select Docker VMM โ Apply & restart. Then re-run
docker desktop statusto confirm it's live.
Remember to restart your machine if you do no see this option
โ๏ธ What Actually Changed
| Improvement | Purpose | Reference | |
|---|---|---|---|
| ๐ขโก | Faster startup | Container start times drop across first launch, restarts, and switches | VMM beta blog |
| ๐ข๐ง | Idle memory reclaim | Returns RAM to host when containers aren't active | VMM docs |
| ๐ต๐ | Faster file I/O | Cuts latency in the edit-compile-test loop | VMM beta blog |
| ๐ต๐ช | No more WSL2 dependency (Windows) | Real VM boundary, Hyper-V-level isolation at WSL2-level speed | VMM beta blog |
| ๐ฃ๐ก๏ธ | First-party governance | Docker can monitor/control the hypervisor it owns | VMM docs |
๐ Switching to Docker VMM
๐ข Beginner ย ๐ต Intermediate ย ๐ฃ Advanced ย |ย ๐ Mac ย ๐ช Windows
| Step | Purpose | Reference | |
|---|---|---|---|
| ๐ข๐๐ช | Allocate โฅ4GB RAM | Docker VMM requires this minimum for the Linux VM | VMM docs |
| ๐ข๐๐ช | Settings โ General โ Virtual Machine Manager | Locate the VMM selector in Docker Desktop | VMM docs |
| ๐ข๐๐ช | Select "Docker VMM" | Opts into the new first-party hypervisor | VMM docs |
| ๐ข๐๐ช | Apply & restart | Applies the change and restarts the Linux VM | VMM docs |
| ๐ต๐๐ช | Re-add bind mount shares if prompted | Docker VMM doesn't auto-share folders like older backends | VMM docs |
๐ ๏ธ Verify & Diagnose from the CLI
Once switched, confirm the engine actually restarted cleanly and pull logs if anything looks off โ no need to leave the terminal.
# Restart Docker Desktop after a manual engine change
docker desktop restart
Restarting Docker Desktop...
Docker Desktop is running
Reference: docker desktop restart
# Confirm the installed Docker Desktop version supports VMM (needs 4.86+)
docker desktop version
Docker Desktop 4.87.0 (198327)
Reference: docker desktop version
# Something feels off? Pull a full diagnostic bundle
docker desktop diagnose
Running diagnostics...
Diagnostics ID: 01ABCD23-4567-89EF-GHIJ-KLMNOPQRSTUV
Uploaded, ID above โ share with Docker support if filing an issue
Reference: docker desktop diagnose
# Tail live Desktop logs while reproducing an issue
docker desktop logs -f
Reference: docker desktop logs
โ ๏ธ Known Beta Limitations
| Limitation | Details | |
|---|---|---|
| ๐ฃ๐ | No Rosetta support (Mac) | Emulating amd64 images is slow; stick with Apple Virt. Framework for x86 workloads |
| ๐ฃ๐ | virtiofs + certain databases | MongoDB and Cassandra may fail under Docker VMM's virtiofs; fix expected in a future release |
| ๐ต๐๐ช | Restart sometimes required | Switching engines may need a manual docker desktop restart
|
โ Key Takeaways
- A VMM is the hidden layer that creates the Linux VM your containers actually run in โ Docker now owns that layer instead of borrowing it.
- Docker VMM is opt-in beta today (v4.86+), becoming the default at GA, targeted for end of October 2026.
- Expect faster container startup, better file I/O, and smarter idle memory handling โ especially noticeable in edit-compile-test loops.
- Mac users on Intel emulation (Rosetta) and certain databases under virtiofs should hold off until known issues are resolved.
- Switching back to your old backend is one settings toggle away โ this is safe to try today.
๐ฌ What Should I Cover Next?
Vote in the comments: Docker VMM vs WSL2 benchmarks ยท Migrating a MongoDB dev setup off virtiofs ยท Docker Desktop resource tuning ยท Docker Model Runner ยท Docker Sandboxes for AI agents. Tell me which and it's next.
Tags: docker devops virtualization beginners DeveloperProductivity
Hashtags: #Docker #DevOps #CloudNative #DockerDesktop #PlatformEngineering #BuildInPublic #100DaysOfCode
Mentions: @Docker @dev_community @DockerCon
๐ References
- Docker โ Announcing: Docker VMM Public Beta
- Docker โ Virtual Machine Manager docs
- Hacker News โ Discussion: Docker Sandboxes & the new Docker VMM architecture
- Collabnix โ Difference between VM vs Docker
โ๏ธ About the Author
Padhmeni Priya R R โ Bioinformatics Master's grad working as a research scientist on cutting-edge variant analysis tools, endlessly curious about technology and AI-driven innovation.
๐ linkedin.com/in/padhmeni
Drop a ๐ณ if this saved you a search, and tell me what to cover next.
















