Appleがコンテナ製品を出したらしい
その名も「container」
Section titled “その名も「container」”- ググりにくい命名は勘弁してほしい
- MSもそういう命名しがちだし、大企業病だろこれ
- macOS上でAppleシリコンに最適化された軽量のLinuxベースのVMを作成・実行できるツール
- GitHub: https://github.com/apple/container
- OCI準拠のコンテナイメージを読み込めるため、GHCRやDocker Hubにあるコンテナイメージを活用できる
- Swift製
- macOS 26の新機能と拡張機能に依存しているため、macOS 15では実行は可能だが主にネットワーク周りでの動作に制限がある
余談: OCIとは
Section titled “余談: OCIとは”- Open Container Initiativeの略
- OCI Runtime Spec
- コンテナを実行するための標準インタフェースの定義
- 高レベルランタイム(containerd等)と低レベルランタイム(runc等)の橋渡し
- OCI Image Spec … コンテナイメージの標準フォーマットを定義
余談: containerの内部構造
Section titled “余談: containerの内部構造”- 高レベルランタイム、低レベルランタイムが全てApple内製っぽい
- container CLI -> Containerization -> Virtualization.framework という呼び出し関係
- Virtualization.frameworkはApple が macOS 11 以降に提供している仮想化のフレームワーク
- Dockerに代表されるコンテナ技術のようなホストOSのカーネルを共有するようなモデルではなく、あくまで軽量の仮想マシンを起動するモデル
- ※ macOS版のDocker Desktopもそういうアーキテクチャなので、珍しいわけではない
- macOS 15.5
- ※ macOS 26ではないので機能的に制限あり

インストール
Section titled “インストール”- GitHubのreleases上でインストールパッケージが提供されている
- ※ 自分でビルドすることも可能
- https://github.com/apple/container/releases
- 今回は現時点で最新版のバージョン0.2.0(2025/6/28リリース)を利用する
- バージョン確認
$ container --versioncontainer CLI version 0.2.0 (build: release, commit: 3b5c253)
- システムの起動
$ container system start$ container system statusVerifying apiserver is running...apiserver is running
- コンテナイメージのpull
$ container image pull docker.io/library/alpine:latest
- コンテナの起動
- Alpineを起動してみた
- 現状、systemdを使うような複雑なコンテナの起動は難しいらしい
$ container run --detach --name my-alpine alpine:latest sleep infinity$ container lsID IMAGE OS ARCH STATE ADDRmy-alpine docker.io/library/alpine:latest linux arm64 running 192.168.64.4
- コンテナのシェルに入る
$ container exec --tty --interactive my-alpine sh/ # lsbin etc lib media opt root sbin sys usrdev home lost+found mnt proc run srv tmp var/ # echo hellohello/ # exit
- コンテナを一時停止
$ container stop my-alpine$ container lsID IMAGE OS ARCH STATE ADDR$ container ls --allID IMAGE OS ARCH STATE ADDRmy-alpine docker.io/library/alpine:latest linux arm64 stopped
- コンテナの削除
$ container delete my-alpine$ container ls --allID IMAGE OS ARCH STATE ADDR
- システムの停止
$ container system stop$ container system statusapiserver is not running and not registered with launchd
おまけ: ContainerUI
Section titled “おまけ: ContainerUI”- Appleのcontainer向けの非公式のGUI
- ※ 現時点で公式のGUIは提供されていない
- 中国の個人開発者によって開発
- GitHub: https://github.com/lcandy2/container-ui
- インストールパッケージは提供されていないので自分でビルドする必要がある
- ※ Xcodeが必要
- ※ READMEの方法ではビルドできなかったため、以下の手順を参考にしてほしい
$ git clone https://github.com/lcandy2/container-ui.git$ cd container-ui$ touch ContainerUI.xcconfig$ open ContainerUI/ContainerUI.xcodeproj
- cmd + Rでビルドを実行すると起動する

- バージョンがまだ0.2.0ということもある他、機能を完全にサポートしているmacOS 26でないこともあり、活用方法が限定的という印象
- 起動できるコンテナイメージが部分的、エコシステムが成長していない、公式のGUIが存在しない等の課題がある
- また、コンテナイメージをビルドできなかったり、Dockerfileのような設定ファイルを使う方法がなかったり、Docker Composeのような簡易的なオーケストレーションの仕組みもない
- Appleシリコンに最適化されているという点はAppleユーザにとって利点だと思うので、今後の進化に期待