# apple/containerization

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/apple-containerization).**

8,711 stars · 306 forks · Swift · Apache-2.0

## Links

- GitHub: https://github.com/apple/containerization
- Homepage: https://apple.github.io/containerization/documentation/
- awesome-repositories: https://awesome-repositories.com/repository/apple-containerization.md

## Description

Containerization is a Swift-based framework that runs Linux containers in lightweight virtual machines on Apple Silicon Macs. It provides a native container runtime for macOS, enabling developers to execute Linux containers directly on their Apple Silicon hardware without requiring a separate Linux environment or Docker Desktop.

The framework supports custom Linux kernel injection, allowing users to provide their own kernel images and select per-container kernel versions and configurations. It includes an ext4 filesystem image builder for creating root filesystems from scratch, and an OCI image engine that authenticates with remote registries to pull and push container images. Process lifecycle management handles launching and managing containerized processes with I/O and signal forwarding.

Containerization is distributed as a Swift Package Manager library, making it straightforward to integrate into macOS development projects. The documentation covers installation, API usage, and examples for building and running Linux containers on Apple Silicon.

## Tags

### DevOps & Infrastructure

- [Apple Silicon VM Containers](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-runtimes/virtual-machine-containers/apple-silicon-vm-containers.md) — Runs each Linux container inside a dedicated lightweight virtual machine on Apple Silicon for hardware isolation.
- [OCI Container Registry Clients](https://awesome-repositories.com/f/devops-infrastructure/artifact-registries/oci-artifact-retrieval/oci-container-registry-clients.md) — Pulls, stores, and transfers container images from remote registries using the Open Container Initiative format.
- [OCI Registry Authenticators](https://awesome-repositories.com/f/devops-infrastructure/artifact-registries/oci-artifact-retrieval/oci-container-registry-clients/oci-registry-authenticators.md) — Authenticates with remote OCI registries and transfers container images in both directions. ([source](https://cdn.jsdelivr.net/gh/apple/containerization@main/README.md))
- [Container Image Management](https://awesome-repositories.com/f/devops-infrastructure/container-image-management.md) — Pulls, stores, and manipulates container images using the Open Container Initiative format. ([source](https://cdn.jsdelivr.net/gh/apple/containerization@main/README.md))
- [Image Push-Pull Workflows](https://awesome-repositories.com/f/devops-infrastructure/container-image-registries/image-push-pull-workflows.md) — Implements an OCI image engine that authenticates with remote registries and pulls and pushes container images.
- [Apple Silicon VM Container Execution](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-runtimes/virtual-machine-containers/apple-silicon-vm-container-execution.md) — Executes each Linux container inside its own lightweight virtual machine on Apple Silicon. ([source](https://cdn.jsdelivr.net/gh/apple/containerization@main/README.md))
- [Ext4 Filesystem Image Builders](https://awesome-repositories.com/f/devops-infrastructure/filesystem-image-distributions/ext4-filesystem-image-builders.md) — Builds ext4 filesystem images that serve as root filesystems for containers. ([source](https://cdn.jsdelivr.net/gh/apple/containerization@main/README.md))
- [Container I/O and Signal Forwarders](https://awesome-repositories.com/f/devops-infrastructure/oci-container-process-management/container-i-o-and-signal-forwarders.md) — Launches and manages processes inside a container while forwarding I/O, signals, and events. ([source](https://cdn.jsdelivr.net/gh/apple/containerization@main/README.md))

### Part of an Awesome List

- [Per-Container Kernel Loaders](https://awesome-repositories.com/f/awesome-lists/devops/linux-kernel-development/kernel-customization/per-container-kernel-loaders.md) — Accepts user-provided kernel images and supports per-container kernel version and configuration selection.
- [Per-Container Kernel Selectors](https://awesome-repositories.com/f/awesome-lists/devops/linux-kernel-development/kernel-customization/per-container-kernel-selectors.md) — Provides a custom kernel injection mechanism that allows per-container kernel version and configuration selection.

### Data & Databases

- [Containerized Process Spawners](https://awesome-repositories.com/f/data-databases/data-i-o/process-i-o-connectors/containerized-process-spawners.md) — Launches and manages containerized processes with I/O and signal forwarding between host and container.

### Operating Systems & Systems Programming

- [Apple Silicon Linux Container Runtimes](https://awesome-repositories.com/f/operating-systems-systems-programming/custom-linux-distributions/linux-distribution-container-execution/apple-silicon-linux-container-runtimes.md) — Enables running Linux containers natively on Apple Silicon Macs for development and testing without Docker Desktop.
- [Apple Silicon Container Runners](https://awesome-repositories.com/f/operating-systems-systems-programming/linux-container-managers/apple-silicon-container-runners.md) — Launches and manages containerized processes inside per-container virtual machines with I/O and signal forwarding.
- [Ext4 Filesystem Image Creators](https://awesome-repositories.com/f/operating-systems-systems-programming/root-filesystem-generators/root-filesystem-bootstrapping/ext4-filesystem-image-creators.md) — Ships an ext4 filesystem image builder that creates root filesystems for containers from scratch.
- [Ext4 Root Filesystem Builders](https://awesome-repositories.com/f/operating-systems-systems-programming/root-filesystem-generators/root-filesystem-bootstrapping/ext4-root-filesystem-builders.md) — Creates ext4 root filesystem images for use as container filesystems on macOS.

### Web Development

- [Container Runtime Frameworks](https://awesome-repositories.com/f/web-development/desktop-application-frameworks/native-macos-frameworks/container-runtime-frameworks.md) — Provides a Swift package that runs Linux containers in lightweight VMs on Apple Silicon using OCI images and custom kernels.
