Apple containerでDocker Desktopを入れ替える

WWDC 2026でApple containerが発表されました。

当然のことながら、Apple純正のコンテナが使えるならDocker Desktopは不要なんじゃないかと考える人は多いのですが、Docker Compose相当の機能はまだありません。

とはいえ、GUIの管理ツールは整いつつあり、ちょっとコンテナを実行するだけであれば、事足りるのでは?という状況になっています。

Apple containerをインストールする

上記レポジトリからインストールしても良いですが、homebrewでインストールするのが楽でしょう。

brew install container

次にターミナルを開いて、Apple container APIを起動します。

container system start

Orchardをインストールする

GUI管理ツールであるOrchardをインストールします。

brew install orchard

/Applications/Orchardを起動します。

Apple containerでDocker Desktopを入れ替える

コンテナイメージを検索する

[images]をクリックして、[+]ボタンをクリックします。

Apple containerでDocker Desktopを入れ替える

"nginx"と入力して、[Search]ボタンをクリックし、"Official"と書かれたイメージを[Pull]します。

Apple containerでDocker Desktopを入れ替える

コンテナを起動する

pullが完了すると、ボタンの色が緑になります。[Run]をクリックすると起動します。

Apple containerでDocker Desktopを入れ替える

起動時のオプション(dockerコマンドの"-e"相当)を設定できます。今回はそのまま[Run Container]してみます。

Apple containerでDocker Desktopを入れ替える

起動したら、[Containers]をクリックします。nginxが起動できてます。"192.168.64.2"でlistenしてます。

Apple containerでDocker Desktopを入れ替える

動作確認

ブラウザで"192.168.64.2"にアクセスすると、起動していることが確認できます。

Apple containerでDocker Desktopを入れ替える

container APIの自動起動

まだ自動起動のオプションは無いので、launchctlで起動するのが良いでしょう。plistファイルを作成します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
 "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.apple.container</string>

    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/container</string>
        <string>system</string>
        <string>start</string>
    </array>

    <key>RunAtLoad</key>
    <true/>

    <key>KeepAlive</key>
    <false/>

    <key>StandardOutPath</key>
    <string>/tmp/container-system.log</string>

    <key>StandardErrorPath</key>
    <string>/tmp/container-system.err</string>
</dict>
</plist>

launchctlで有効化します。

launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.apple.container.plist

まとめ

長い歴史があるDocker Desktopにはまだまだ及びませんが、macOSとApple Siliconの特性を考慮している点で、非常に有望な技術です。今から試しておいても悪くないと思います。

追記:Cotainer-Composeをインストールすれば、Docker Composeのファイルを読んで、containerコマンドに変換することは可能なので、それっぽいことはできます。