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.
핵심 포인트
- 1`container`는 Apple silicon Mac에서 Linux 컨테이너를 경량 가상 머신으로 생성 및 실행하며, OCI-compatible 컨테이너 이미지를 활용하는 Swift 기반 도구입니다.
- 2이 도구는 `Containerization` Swift package를 사용하여 낮은 수준의 컨테이너 관리를 수행하며, Apple silicon Mac의 macOS 26 이상 환경에 최적화되어 있습니다.
- 3`container`는 GitHub 릴리스 페이지에서 설치 가능하며 현재 활발히 개발 중으로, 1.0.0 릴리스까지는 patch 버전 내에서만 안정성이 보장됩니다.
해당 문서는 Apple에서 개발한 container라는 도구의 GitHub README입니다. container는 Mac에서 Linux 컨테이너를 경량 가상 머신(lightweight virtual machines)으로 생성하고 실행하는 데 사용되는 도구입니다. 이 도구는 Swift로 작성되었으며, Apple silicon에 최적화되어 있습니다.
이 도구의 핵심 방법론은 Mac의 가상화(virtualization) 기능을 활용하여 Linux 컨테이너를 가상 머신 형태로 실행하는 것입니다. 이를 위해 저수준 컨테이너, 이미지 및 프로세스 관리를 위해 Containerization Swift 패키지를 사용합니다. 특히, container는 macOS 26에 도입된 가상화 및 네트워킹의 새로운 기능과 개선 사항을 활용하도록 설계되었습니다.
container는 OCI(Open Container Initiative) 호환 컨테이너 이미지를 소비하고 생성합니다. 이는 사용자가 표준 컨테이너 레지스트리(standard container registry)에서 이미지를 가져와 실행할 수 있으며, 빌드한 이미지를 해당 레지스트리에 푸시하고 다른 OCI 호환 애플리케이션에서도 실행할 수 있음을 의미합니다.
시스템 요구 사항으로는 Apple silicon이 탑재된 Mac과 macOS 26이 필요합니다. macOS 26 미만의 버전은 지원되지 않으며, 해당 버전에서 재현할 수 없는 문제는 해결되지 않습니다.
설치 과정은 GitHub 릴리스 페이지에서 서명된 설치 프로그램 패키지(signed installer package)를 다운로드하여 실행하는 방식으로 이루어집니다. 설치 시 관리자 암호를 입력하여 파일이 /usr/local에 배치되도록 허용해야 합니다. 설치 후에는 container system start 명령어를 사용하여 시스템 서비스를 시작합니다. 업데이트 또는 다운그레이드를 위해서는 기존 container를 container system stop 명령어로 중지한 후, 수동으로 설치하거나 /usr/local/bin에 설치된 update-container.sh 스크립트를 사용할 수 있습니다. 제거는 /usr/local/bin/uninstall-container.sh 스크립트를 통해 이루어지며, 사용자 데이터를 유지하거나 함께 제거하는 옵션(-k 또는 -d)을 제공합니다.
container 프로젝트는 현재 활발하게 개발 중인 상태(active development)입니다. Swift 패키지 및 container 도구로서의 안정성은 0.1.1에서 0.1.2와 같은 패치 버전(patch versions) 내에서만 보장됩니다. 1.0.0 릴리스에 도달하기 전까지는 마이너 버전(minor version) 릴리스에 브레이킹 체인지(breaking changes)가 포함될 수 있습니다.