Docker DesktopからRancher Desktopへ移行した話 M1 Pro向け
はじめに
会社で開発環境を整える中、Docker Desktopに商用ライセンスが必要になったことが移行の大きなきっかけでした。Docker Desktopは個人や小規模チームには無料ですが、一定規模以上の企業では有償ライセンスが求められます。 私の勤務先でもその要件を受け、無償のオープンソース代替ソリューションが検討されました。その結果、Rancher Desktopが有力候補に挙がり、実際に移行してみたら思いのほか快適だったので共有します。
ステップ1:Docker Desktopのアンインストール(必要な場合)
Docker DesktopとRancher Desktopを同時に起動すると、リソース競合などの問題が起きる可能性があります。そのため、移行の際は一度Docker Desktopをアンインストールするのが無難です。 アプリの「Troubleshoot」→「Uninstall」から削除できますが、イメージやボリュームはすべて消えるため、必要に応じてバックアップを取ってください。
ステップ2:Rancher Desktopのインストール(Apple Silicon対応)
公式サイトからARM64(Apple Silicon)版の.dmg
をダウンロードし、Applicationsフォルダにドラッグ&ドロップしてインストールします。
初回起動時のウィザードでは以下を選択します:
- Kubernetes無効化(今回は使わないためチェックを外す)
- Container Engine:「dockerd (moby)」 を選択
- PATH設定:Automatic(自動) を指定
これで、従来通り docker
CLI が使える環境になります。
ステップ3:Docker Compose(v2)もそのまま使える
Rancher Desktopは Docker Compose v2 に対応しており、従来の docker-compose.yml
をそのまま利用できます。コマンドもすべて一致します:
docker compose version
docker compose up -d
※ docker-compose
(ハイフン付き)が必要なら、Homebrew経由で別途インストール可能です。
ステップ4:M1 Pro向けパフォーマンス最適化とその理由
ここが今回のキモです。「Preferences」→「Virtual Machine」から以下の設定にしています。
CPU / メモリ割り当て:4〜6コア・8GB以上
- 理由:M1 Proは最大10コア&ユニファイドメモリ(メモリ共有)で、並列ビルドや複数コンテナでも十分な性能を発揮します。Rancher Desktopにも余裕を持たせると、ビルド時間短縮やレスポンス改善が期待できます(特にNode.jsなどI/Oが多いワークロードで効果的です)。
仮想化方式:「VZ(Apple Virtualization Framework)」
- 理由:Apple公式の仮想化APIであるVZは、QEMUよりもオーバーヘッドが少なく、ネイティブに近い速度で動作します。macOSとの相性も良く、電力消費を抑えつつ効率的に動かせます。
Rosettaサポート:有効にする
- 理由:Docker Hubには依然としてx86_64向けイメージが多く存在しますが、Rosettaを有効にするとM1でもARM/x86_64両対応で実行可能になります。互換性を損なわず運用の幅が広がります。
ボリューム共有方式:「virtiofs」
- 理由:ホスト–コンテナ間のファイル共有がデフォルトの
reverse-sshfs
に比べて格段に高速です。開発中のホットリロードや大量ファイル編集が多いワークフローでは、I/Oが劇的に改善されます。
まとめ
Docker Desktopの商用ライセンス問題をきっかけに、Rancher Desktopへ移行しましたが、無償かつパフォーマンス面でも非常に満足しています。 特にM1 Pro環境では、「VZ + Rosetta + virtiofs」の組み合わせが最強におすすめです。Composeもそのまま使え、違和感なく移行できるのが嬉しいポイントでした。