GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - 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.

BranchesTags
Open more actions menu

Latest commit

 

History

834 Commits
834 Commits

Folders and files

NameName
Last commit message
Last commit date
.claude-plugin
.claude-plugin
 
 
.github
.github
 
 
Sources
Sources
 
 
Tests
Tests
 
 
assets
assets
 
 
cluster-shim
cluster-shim
 
 
docs
docs
 
 
scripts
scripts
 
 
signing
signing
 
 
skills
skills
 
 
.gitignore
.gitignore
 
 
.spi.yml
.spi.yml
 
 
.swift-format
.swift-format
 
 
.swift-format-nolint
.swift-format-nolint
 
 
BUILDING.md
BUILDING.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE
LICENSE
 
 
MAINTAINERS.txt
MAINTAINERS.txt
 
 
Makefile
Makefile
 
 
NOTICE.md
NOTICE.md
 
 
Package.resolved
Package.resolved
 
 
Package.swift
Package.swift
 
 
Protobuf.Makefile
Protobuf.Makefile
 
 
README.md
README.md
 
 
licenserc.toml
licenserc.toml
 
 

Repository files navigation

Containerization logo  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: running a web server in a container, then opening an Ubuntu container machine that shares your home directory

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:

container system start

Run your first container

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:

container system stop

To upgrade to the latest release, simply run the command below:

/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):

/usr/local/bin/uninstall-container.sh -k
/usr/local/bin/update-container.sh -v 0.3.0

Start the system service with:

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:

/usr/local/bin/uninstall-container.sh -d

To retain your user data so that it is available should you reinstall later, run:

/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 container, such as developing Linux apps in a container machine with Visual Studio Code and running a three-tier app on a container cluster behind a gateway.
  • Read a brief description and technical overview of container.
  • Browse the full command reference.
  • Build and run container on your own development system.
  • View the project API documentation.

Contributing

Contributions to container are welcome and encouraged. Please see our main contributing guide for more information.

Project Status

The container project is under active development. Its release versions are product versions, not semantic versions.

The container CLI compatibility generally preserves backward compatibility within a major release (not breaking existing scripts), however, there may be the odd case where breaking compatibility may be necessary. Note: Features marked experimental (for example, the cluster subcommand) may change and do not guarantee backward compatibility.

The container-apiserver XPC API compatibility preserves forward and backward compatibility within a major version. Other non-public XPC helpers do not guarantee CLI or API compatibility across different versions.

The container application data provides forward compatibility only, guaranteed within one major version. Upgrading to a newer major version may require a specific upgrade path.

About

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.

apple.github.io/container/documentation/

Resources

Readme
Apache-2.0 license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

51.3k stars

Watchers

197 watching

Forks

1.8k forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.