WWDC25: Meet Containerization | Apple

Apple Developer

Summary:

Containerization is an open-source Swift framework designed to create and run Linux containers natively on macOS, emphasizing security, privacy, and performance. It enables developers to package applications with their dependencies, ensuring consistent execution across environments and providing strong isolation from the host and other workloads. The framework handles image management, pulling configurations and filesystem contents from registries, and leveraging a Swift package to format these as EXT4 block devices. A key innovation is running each container within its own lightweight virtual machine, offering dedicated IP addresses, sub-second startup times, and granular resource allocation. For a secure and minimal container environment, a Swift-built vminitd init system is cross-compiled as a static Linux executable using Swift’s Static Linux SDK and musl, significantly reducing the attack surface. The container command-line tool demonstrates these capabilities, allowing users to effortlessly pull images and run isolated Linux shells on their Mac.

Multiple lightweight virtual machines running on macOS
Multiple lightweight virtual machines running on macOS [ 00:06:09 ]

Introduction [00:00]

Goals for Linux Containers on macOS [03:03]

What is a container? [00:48]

Containerization deep dive: Image management [03:50]

Containerization deep dive: Virtualization [05:53]

Containerization deep dive: Container environment [06:53]

Command line tooling [09:19]

Wrap-up [11:45]