InfoQ ホームページ ニュース Apple、macOSにネイティブLinuxコンテナサポートを発表
Apple、macOSにネイティブLinuxコンテナサポートを発表
2025年12月3日 読了時間 5 分
作者:
翻訳者
WWDC 2025で、Apple社はContainerizationとContainer CLIを発表した。これは、Mac上で軽量な仮想マシンとしてLinuxコンテナを作成および実行するためのツールである。この新しいオープンソースのコンテナ化フレームワークにより、Dockerのようなサードパーティツールが不要になるため、開発者がmacOSでLinuxコンテナを実行する方法に大きな変化がもたらされる。Swiftベースのフレームワークは、macOS 26内でネイティブのLinuxコンテナサポートを提供し、セキュリティ、パフォーマンス、プライバシーに重点を置いてコンテナ化分野に参入することを示している。
従来のコンテナ化ソリューションが単一の大きな仮想マシン内で複数のコンテナを実行するのに対し、Apple社のアプローチは各Linuxコンテナを軽量な仮想マシン内で実行する。このアーキテクチャにはいくつかの重要な利点がある。
- 強化されたセキュリティ: 各コンテナは完全な仮想マシンと同じレベルの隔離を受け、攻撃面を大幅に減少させる。最小限のファイルシステムにはコアユーティリティ、動的ライブラリ、またはlibc実装が含まれておらず、セキュリティリスクをさらに最小限に抑える。
- 専用リソース: 各コンテナは独自のIPアドレスを受け取り、ポートフォワーディングの必要がなく、高性能なネットワークアクセスを提供する。CPUとメモリリソースはコンテナごとに割り当てられ、コンテナが実行されていない場合にはリソース消費がない。
- プライバシー重視の設計: ディレクトリとファイルの共有はコンテナごとに行われ、要求するコンテナのみが共有コンテンツにアクセスできるようにし、共有仮想マシン(VM)内のすべてのコンテナに公開されることを防ぐ。
ContainerizationフレームワークはSwiftを広範に活用しており、完全にSwiftで書かれたカスタムinitシステムであるvminitdを含む。このinitシステムは各仮想マシン内で最初のプロセスとして実行され、以下を処理する。
- ネットワークインターフェースへのIPアドレスの割り当て
- コンテナのブロックデバイスを含むファイルシステムのマウント
- プロセスの起動と監督
- ホストとコンテナ間の通信のAPI管理
標準ライブラリがない環境でこれを実現するために、Apple社はSwiftのStatic Linux SDKを使用してmacOSから直接静的Linuxバイナリをクロスコンパイルし、muslを使用して静的リンクサポートを提供している。
各コンテナを独自のVMで実行するにもかかわらず、Apple社はいくつかの最適化により起動時間が1秒未満であると主張している。
- 最適化されたLinuxカーネル: コンテナ化ワークロード専用に設計されたカスタムカーネル構成
- EXT4ブロックデバイス: コンテナファイルシステムはパフォーマンスの高いアクセスのためにフォーマットされたEXT4ブロックデバイスとして公開される
- Apple Silicon最適化: スタック全体がApple社のカスタムシリコンアーキテクチャに最適化されている
Apple社は開発者がコンテナ化ソリューションを構築するためのフレームワークと、すぐに使用できるコマンドラインツールの両方を提供している。container CLIツールはDockerに似たコマンドを提供する。
# Pull an image container image pull alpine:latest # Run an interactive container container run -t -i alpine:latest sh このツールは、ストレージ、イメージ管理、ネットワークサービス、およびコンテナランタイム管理のためのXPCサービスを提供し、すべてContainerization APIを使用して構築されている。
Apple社はContainerizationフレームワークとcontainer CLIツールをGitHubでオープンソースプロジェクトとして公開している。リポジトリには以下が含まれている。
- フレームワークとツールの完全なソースコード
- 統合を示すサンプルプロジェクト
- 技術文書とアーキテクチャ概要
- vminitdで使用されるクロスプラットフォームSwiftパッケージ
Apple社のコンテナ化への参入は、最近大きな注目を集めているDockerのオープンソース代替品の確立されたエコシステムに加わる。Red Hat社が開発したPodmanは、もっとも著名なDocker代替品として、ルート権限を必要としないデーモンレスアーキテクチャでOCI準拠のコンテナ管理を提供している。このルートレス操作はセキュリティ上の利点を提供し、セキュリティが最重要視される環境で特に魅力的である。
その他の注目すべきソリューションには、Kubernetesによって使用される低レベルのコンテナランタイムであるcontainerdや、完全なコンテナランタイムを必要とせずにコンテナイメージを構築することに特化したBuildahが含まれる。LXDのようなツールはアプリケーションコンテナではなくシステムコンテナに焦点を当てており、Rancher Desktopのようなソリューションはコンテナ管理のためのユーザーフレンドリーなグラフィカルインターフェースを提供している。Apple社の各コンテナを独自の軽量仮想マシンで実行する独自のアプローチは、通常cgroupsやnamespacesなどの共有カーネルコンテナ化技術に依存する既存のソリューションとは異なる。
Containerizationフレームワークとcontainer CLIはmacOS 26で利用可能であり、オープンソースコンポーネントはGitHubで即座にアクセス可能だ。開発者はフレームワークを探索し、その開発に貢献し、macOS上でネイティブにLinuxコンテナを統合するソリューションの構築を開始できる。
-
関連記事
-
関連スポンサーコンテンツ
特集コンテンツ一覧
InfoQ ニュースレター
毎週火曜日に前週のまとめコンテンツをお送りいたします。(日本語版は不定期リリース)25万人のシニアな開発者コミュニティーにぜひご参加ください。 サンプルを見る