Lima driver for Apple Container virtual machines
- Dominant language
- Go
- Stars
- 21.9k
- Forks
- 957
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 53
Description
### Description
Currently Lima is using the Virtualization.framework (VZ) to create a VM from a regular cloud image...
But it is also possible to use the Containerization Swift library, to create a VM from a container image
This makes it more similar to the WSL2 driver for Windows, with kernel and init provided outside image*.
The easiest way to integrate from a Go program is to use the `container` CLI, [github.com/apple/container](https://github.com/apple/container)
----
The main feature is that the MicroVM boots up in a second (with the right image) - instead of in a minute.
The default kernel is currently from the Kata containers project, it could be made available for others too.
Current issues
* Systemd is not yet supported (not compatible with `vminitd`), only OpenRC
* Some advanced features are missing from default kernel, such as IPv6 or VXLAN
* Apple ARM CPU is required, it does not work on Intel CPU
* Networking between instances does not work on macOS 15
\* for WSL2, the kernel is shared between all system containers. in AC, each one get their own kernel.
Lima could use a custom image for AC, similar to the custom image that is currently used with WSL2.
----
* #3622
* https://github.com/apple/container/discussions/106
Contributor guide
Assessment
This issue has not been assessed yet.