Skip to content

Lima driver for Apple Container virtual machines #3788

@afbjorklund

Description

@afbjorklund

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


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.


Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions