apple/container
6 articles
Prerequisites
- ›Basic familiarity with container concepts (images, namespaces)
- ›Basic Swift reading ability
- ›Awareness of macOS processes and inter-process communication at a conceptual level
01
Architecture and Navigation Guide: How apple/container is Organized
A high-level tour of the apple/container project — what it does, why it uses one VM per container, and how the four-layer architecture fits together.
02
The XPC Communication Layer: How Processes Talk to Each Other
A deep dive into the custom XPC abstraction that connects every process in apple/container.
03
Container Lifecycle: From `container run` to Exit
A complete end-to-end trace of what happens when you run `container run`.
04
Networking and DNS: Virtual Networks, IP Allocation, and Name Resolution
A deep dive into apple/container's networking subsystem — virtual networks, IP allocation, and custom DNS servers.
05
The Plugin System and launchd Integration
How apple/container's plugin architecture works end to end — from config.json discovery to launchd bootstrap.
06
The Build Subsystem: gRPC, BuildKit, and Image Creation
How `container build` works and why it uses a completely different communication model from the rest of the system.