apple /container
A tool for creating and running Linux containers using lightweight virtual machines on a Mac. It is written in Swift, and optimized for Apple silicon.
★ 51,126⑂ 1,812👁 196⑃ 1,291● 998▤ 27◈ 163
51,126
stars
+15+107+616
1,812
forks
196
watchers
1,291
prs
998
issues
27
releases
163
discussions
README
container container is a tool that you can use to create and run Linux containers as lightweight virtual machines on your Mac. It's written in Swift, and optimized for Apple silicon. The tool consumes and produces OCI-compatible container images, so you can pull and run images from any standard container registry. You can push images that you build to those registries as well, and run the images in any other OCI-compatible application. container uses the Containerization Swift package for low-level container, image, and process management. !introductory movie showing some basic commands Get started Requirements You need a Mac with Apple silicon to run container. To build it, see the BUILDING document. container is supported on macOS 26, since it takes advantage of new features and enhancements to virtualization and networking in this release. We do not support older versions of macOS and the container maintainers typically will not address issues that cannot be reproduced on macOS 26. Initial install Download the latest signed installer package for container from the GitHub release page. To install the tool, double-click the package file and follow the instructions. Enter your administrator password when prompted, to give the installer permission to place the installed files under /usr/local. Start the system service with: bash container system start Run your first container bash container run --rm alpine echo hello This pulls the alpine image, runs it in a lightweight Linux VM, prints hello, and removes the container when it exits. See the tutorial for a fuller walkthrough that builds and publishes an image of your own. Upgrade or downgrade For both upgrading and downgrading, you can manually download and install the signed installer package by following the steps from initial install or use the update-container.sh script (installed to /usr/local/bin). If you're upgrading or downgrading, you must stop your existing container: bash container system stop To upgrade to the latest release, simply run the command below: bash /usr/local/bin/update-container.sh To downgrade, you must uninstall your existing container (the -k flag keeps your user data, while -d removes it): bash /usr/local/bin/uninstall-container.sh -k /usr/local/bin/update-container.sh -v 0.3.0 Start the system service with: bash container system start Uninstall Use the uninstall-container.sh script (installed to /usr/local/bin) to remove container from your system. To remove your user data along with the tool, run: bash /usr/local/bin/uninstall-container.sh -d To retain your user data so that it is available should you reinstall later, run: bash /usr/local/bin/uninstall-container.sh -k Next steps - Take a guided tour of container by building, running, and publishing a simple web server image. - Learn how to use various container features. - Explore the container-examples repo that contains examples that show you how to work with c
Top issues
#254[Bug]: `container image pull` does not work for Azure Container Registry even if logged in (401 Unauthorized)45 comments · 2025-06-24#345[Bug]: on macOS Sequoia cannot ping out from container (but DNS works!)41 comments · 2025-07-16#1693[Bug]: DNS not working36 comments · 2026-06-11#205[Bug]: Does not work with account with home directory in external drive over ssh, even after su into local user with local home directory29 comments · 2025-06-15#404[Bug]: Time Machine backup failures28 comments · 2025-07-31#856[Bug]: internal DNS does not work (clean install)27 comments · 2025-11-06#989[Bug]: no routing to network available from host23 comments · 2025-12-24#1233[Bug]: deleting a symlink to a /home/<user> folder inside container causes autofs delay18 comments · 2026-02-19
Discussions
#24781.7.10 comments · 2026-11-06#2460一个GUI套壳0 comments · 2026-11-04#2429Does Building Container Still Requires Xcode 26.01 comments · 2026-10-24#24171.6.0-prerelease1 comments · 2026-10-20#2336container 1.5.0: supported integration for exclusive, fail-closed guest networking?0 comments · 2026-10-02#2312A Innovative Native Mac Docker - Without Linux VM and with Full access to Apple Silicon GPU for IA and CI/CD works.1 comments · 2026-09-28#2305Virtualization.framework VM execution ownership and crash reclamation on Intel macOS Monterey1 comments · 2026-09-27#2297Problema con Davit e Apple container 1.3.1 e 1.4.10 comments · 2026-09-22
Latest release
1.7.1 1.7.1 2026-11-06Highlights ⌨️ denotes breaking CLI changes. 👩💻 denotes breaking API changes. - Core - container stats now reports cpuUtilization in JSON, YAML, and TOML output - Image snapshots and container filesystems are now excluded from Time Machine backups - Default Kata kernel is now 4.3.1 (vmlinux-6.18.56-208-debug) - Updated Containerization to 0.54.0 - Networking - Default DNS nameservers, search domains, and options can now be set in config.toml - Build - Fixed container build failures with newer BuildKit and missing build context for steps that need the full context