Appleがcontainerリリース、Mac上にLinux環境を構築

481文字
2分
編集

Apple のオープンソース container CLI 1.0.0 がリリースされた。中核となる新機能は container machine で、Containerization フレームワーク上に構築された永続的な Linux 環境を Mac に提供する。コンテナ並みの軽量さと仮想マシン相当の状態保持を両立し、macOS のワークフローに統合される。

Containerization は macOS 上で Linux コンテナを動かす Swift フレームワークで、WWDC25 でオープンソース化された。各コンテナに VM ベースの分離を与え、サブ秒の起動時間を実現する。container machine は同じ OCI イメージ形式を使い、container tool の一級サブコマンドとして提供される。

主な能力は次のとおり。

  • 永続性: 作業中の変更を保持し、停止・再開後も環境を継続できる。
  • ホスト統合: Mac のユーザー名とカレントディレクトリを自動でミラーし、共有ファイルシステムにより Xcode など macOS 側の編集が Linux 環境に即反映される。
  • 独立ネットワーク: 各 container machine は固有の IP を持ち、Mac の Safari から Linux 上のサーバーへ直接アクセスできる。
  • 複数環境: プロジェクトごとに専用の container machine を素早く作成し、ツールチェーンの競合を避けられる。

作成と実行の基本操作は次のとおり。

plaintext
container machine create --name demo --set-default alpine
container machine run echo hi
container machine run uname
container machine run
container machine list

WWDC26 のデモでは、Mac 上の Xcode で Vapor アプリを編集し、container machine 内で swift run してビルド・実行し、Safari から container machine の IP とポート 8080 で応答を確認する流れが示された。Icon Composer で更新したアセットも、ファイルコピーなしで Linux 側のサーバーに反映される。

1.0.0 では container machine に加え、システム設定が UserDefaults ベースから TOML 設定ファイルへ移行し、container system propertyget / set サブコマンドが削除された。containerimagenetworkvolumelsinspect の構造化出力形状も整理されている。container cp コマンドと container run--stop-signal オプションが追加された。

#参考文献