出来事の日付:2026年6月10日。
Appleのオープンソースの`container`プロジェクトは、一つのアプリケーションを中心に構成された短命なコンテナではなく、Mac上で永続的なLinux環境を必要とする開発者向けのマシンモードについて文書を公開した。このツールは軽量な仮想マシンを使用し、Swiftで書かれ、Appleシリコン向けに最適化されている。
コンテナマシンは標準的なOpen Container Initiativeイメージから作成できるため、チームは使い慣れたイメージのワークフローを通じて初期環境を構築し、共有できる。通常は単一のプロセスを起動するアプリケーションコンテナとは異なり、マシンはイメージの`/sbin/init`を起動する。これにより、Linuxのプロセススーパーバイザーが管理する長時間稼働サービスやアプリケーションを利用できる。
ホストとの統合は、日常的な開発で両環境の境界を意識させにくくするよう設計されている。マシンはmacOSのユーザー名とホームディレクトリを自動的にLinuxへマッピングし、両方のシステムからリポジトリや設定ファイルにアクセスできるようにする。開発者はmacOSのツールで編集を続けながら、Linux環境内でプロジェクトをコンパイルまたは実行できる。ホームのマウントは、必要とする分離の程度に応じて、読み書き可能、読み取り専用、または共有なしに設定できる。
主要な`container machine run`コマンドは、必要に応じて停止中のマシンを起動し、その後、コマンドを実行するか対話型シェルを開く。Linuxアカウントはデフォルトでホストのアカウントと一致する。利用者は一つのマシンをデフォルトに指定して、その名前を繰り返し渡す手間を省ける。また、長い`machine`コマンドには、より短い`m`というエイリアスもある。
設定変更はディスクに保存され、次回の停止・起動サイクル後に適用される。メモリーは当初、Macのホストメモリーの半分に設定されるが、調整できる。文書には、ホストとゲストの要件を満たすことを条件とするネストされた仮想化についても記載されており、それ自体が仮想化に依存する開発作業を支援できる可能性がある。
Initシステムを含む任意のLinuxイメージをベースとして使用できる。Appleの例では、systemdと一般的なコマンドラインツールを備えたUbuntu 24.04イメージを構築している。初回起動時には通常、組み込みのセットアップスクリプトがマッピングされたユーザーを設定する。イメージ作成者は、この動作を`/etc/machine/create-user.sh`にある実行可能スクリプトに置き換えられる。このスクリプトは、関連する変数を受け取り、rootとして一度だけ実行される。
この機能は、従来型のコンテナと、手作業で管理する汎用仮想マシンの中間に位置する。永続性とinitのサポートは完全な開発環境に適しており、一方でOCIによるパッケージ化とホストとの自動共有によってセットアップ作業が軽減される。提供された文書には、性能ベンチマークや、ほかのMac向け仮想化製品との分離保証の比較は示されていないため、こうした点は別途テストする必要がある。互換性はLinuxイメージ、initシステム、ホストのリソースにも左右されるため、各チームは自らの開発ワークロードに照らして詳細を検証すべきである。
![スティーブ・ジョブズとMacintoshコンピューター、1984年1月、撮影:バーナード・ゴットフリード。コンピューター画面に表示されているのは、橋口五葉(1921年没)の「髪梳ける女」[メディア]。…](/media/articles/commons-0b9f87c8f97c.avif)


