Homebrew で Docker CLI のみをインストールしていた macOS 環境に、Docker Desktop を後からインストールする方法についてご紹介します。
前提条件
- macOS(Intel Mac / Apple Silicon 両対応)
- Homebrew がインストール済み
- Homebrew で Docker CLI(
brew install docker)をインストール済み
背景
Colima + Docker CLI 環境構築ガイド(macOS) で紹介したように、Docker Desktop を使わずに Docker CLI + Colima で開発している方も多いと思います。
しかし、チームの方針変更や Docker Desktop の GUI 機能が必要になった場合など、後から Docker Desktop に切り替えたいケースもあります。
よくある疑問
Docker CLI のみをインストールしている環境に Docker Desktop をインストールする際、以下の疑問が浮かぶかもしれません。
Docker CLI を先に削除したほうが良いですか?
結論から言うと、先に削除する必要はありません。ただし、インストール時に少し工夫が必要です。
事前削除する場合
もし事前に Docker CLI 関連を削除したい場合は、以下のコマンドで削除できます。
brew uninstall docker
brew uninstall docker-compose # インストールしていた場合
brew uninstall docker-buildx # インストールしていた場合この後、Docker Desktop をインストールします。
brew install --cask docker-desktopこの方法であれば、競合は発生しません。
事前削除せずにインストールする場合
Docker CLI を削除せずに Docker Desktop をインストールしようとすると、以下のようなエラーが発生することがあります。
発生するエラー
brew install --cask docker-desktop==> Downloading https://desktop.docker.com/mac/main/arm64/214940/Docker.dmg
Already downloaded: /Users/your_name/Library/Caches/Homebrew/downloads/081a17783363af6e0cf6d48d362aae02095f9fc
5d6dfd90e746912cfefd2d579--Docker.dmg
==> Installing Cask docker-desktop
==> Moving App 'Docker.app' to '/Applications/Docker.app'
==> Backing App 'Docker.app' up to '/opt/homebrew/Caskroom/docker-desktop/4.56.0,214940/Docker.app'
==> Removing App '/Applications/Docker.app'
==> Purging files for version 4.56.0,214940 of Cask docker-desktop
Error: It seems there is already a Bash Completion at '/opt/homebrew/etc/bash_completion.d/docker-compose'.エラーの原因
このエラーは、Homebrew でインストールした docker(Docker CLI)や docker-compose パッケージが、シェルの補完ファイル(completion files)をインストールしているためです。
Docker Desktop も同じ場所に補完ファイルをインストールしようとするため、競合が発生します。
解決方法
--force オプションを使用してインストールします。
brew install --cask docker-desktop --force--force オプションを指定すると、既存の補完ファイルを上書きして Docker Desktop をインストールできます。
—force オプションについて
--force オプションは、以下の動作を行います。
- 既存のファイルを上書きしてインストールを続行
- 以前インストールされたファイルを削除して再インストール
補完ファイルは Docker Desktop のものに置き換わりますが、機能的には同等なので問題ありません。
インストール後の確認
Docker Desktop をインストールした後、正常に動作するか確認します。
Docker Desktop を起動
open /Applications/Docker.appまたは、アプリケーションフォルダから Docker.app を起動するか、Spotlight で「Docker」を検索して起動します。
Docker CLI の動作確認
docker --versiondocker run hello-world「Hello from Docker!」というメッセージが表示されれば、正常に動作しています。
まとめ
Homebrew で Docker CLI のみをインストールしていた環境に Docker Desktop を後からインストールする場合、--force オプションを使用することで補完ファイルの競合を解決できます。
brew install --cask docker-desktop --force- 事前削除は不要 -
--forceオプションで上書きインストール可能 - 補完ファイルの競合 - Bash Completion のファイルが競合原因
以上、Homebrew で Docker CLI 環境に Docker Desktop を後からインストールする方法について、現場からお送りしました。