Apple Enables Linux Containers on macOS

Apple announced the integration of linux containers in macOS. The implementation involves using lightweight virtual vehicles with a linux nucleus, launched through a hypervisor Virtualization.framework. To support Linux containers, Apple introduced two packages – containerization and container, both written in the SWIFT language and open under the Apache 2.0 license.

The Containerization package provides a low-level API for managing container images in OCI format, loading containers from external repositories, creating the root FS EXT4, enabling network interaction, configuring fast-loaded Linux nucleus options, creating virtual machines, and launching individual containers within them. Each container can be assigned a separate IP address. The framework vmnet is responsible for organizing the virtual network stack associated with each container.

The launch of a virtual machine takes less than a second, thanks to optimized Linux nucleus configurations and a lightweight Init process called vminitd. Interaction with the initialization process in a virtual machine is achieved through the VSOCK APIs. These APIs allow for configuring the working environment parameters and running containers on top of the virtual machine or as individual isolated processes.

The Container package serves as a superstructure over the Containerization API, providing higher-level tools in a style similar to Docker for managing Linux-container images in OCI format. Service management during container launch is carried out using the Launchd system manager.

While these tools can be used in macOS 15, it is recommended to use macOS 26 Beta 1 for full functionality and to avoid potential issues. Notably, direct network interaction between containers is not supported in macOS 15, and there are limitations on individual IP assignments to containers. The tools are compatible with Apple Silicon Mac systems (M1/M2/M3/M4), but

/Reports, release notes, official announcements.