Skip to content

DockerコマンドがMacで見つからない問題の解決方法

問題の概要

MacでDockerコマンドを実行しようとすると、以下のエラーが発生します:

bash
sudo: docker: command not found

この問題は、Docker Desktopが正常にインストールされているにもかかわらず、ターミナルからdockerコマンドにアクセスできない場合に発生します。特にDocker Desktopのバージョン4.18以降では、CLIツールのインストール場所が変更されたことが原因の一つです。

根本原因

Docker Desktop for Macのバージョン4.18以降では、デフォルト設定でDocker CLIツールが以下の場所にインストールされます:

  • ユーザー設定モード: $HOME/.docker/bin
  • システム設定モデ: /usr/local/bin

多くのシステムでは/usr/local/binはデフォルトでPATHに含まれていますが、$HOME/.docker/binは含まれていないため、この問題が発生します。

解決方法

方法1: Docker Desktopの設定変更(推奨)

最も簡単な解決方法は、Docker Desktopの設定を変更することです:

  1. Docker Desktopを開き、設定(⚙️)をクリック
  2. 「Advanced」タブを選択
  3. 「Choose how to configure the installation of Docker's CLI tools」で「System」を選択
  4. 「Apply & Restart」をクリック

TIP

すでに「System」が選択されている場合は、一度「User」に変更して「Apply & Restart」し、再度「System」に戻して「Apply & Restart」することで問題が解決することがあります。

方法2: PATH環境変数への追加

設定変更ができない場合や、特定の理由でユーザーモードを使用する必要がある場合は、PATH環境変数にDockerのパスを追加します:

まず、使用しているシェルを確認します:

bash
echo $0

ZSHを使用している場合(最新のMacOSデフォルト):

bash
echo 'export PATH="$PATH:$HOME/.docker/bin"' >> ~/.zshrc
source ~/.zshrc

Bashを使用している場合:

bash
echo 'export PATH="$PATH:$HOME/.docker/bin"' >> ~/.bash_profile
source ~/.bash_profile

方法3: エイリアスの設定

一時的な解決策として、エイリアスを設定する方法もあります:

bash
echo 'alias docker="/Applications/Docker.app/Contents/Resources/bin/docker"' >> ~/.zshrc
source ~/.zshrc

方法4: /etc/paths.d/へのパス追加

システム全体にパスを追加する方法:

bash
echo "/Applications/Docker.app/Contents/Resources/bin" | sudo tee /etc/paths.d/docker

新しいターミナルを開くと変更が反映されます。

トラブルシューティング

インストールの確認

まずDocker Desktopが正しくインストールされているか確認してください:

  1. アプリケーションフォルダにDocker.appが存在するか確認
  2. Docker Desktopが起動しているか確認

パスの確認

現在のPATH設定を確認する:

bash
echo $PATH

Dockerのパスが含まれているか確認する:

bash
ls /Applications/Docker.app/Contents/Resources/bin/docker
ls $HOME/.docker/bin/docker 2>/dev/null || echo "Not found in user directory"

注意点

WARNING

Homebrewでbrew install dockerを実行しても、Docker Desktopはインストールされません。HomebrewのdockerパッケージはDocker Engineのみをインストールし、Docker Desktopの機能は含まれていません。

正しいインストール方法はDocker公式サイトからDocker Desktop for Macをダウンロードしてインストールすることです。

まとめ

Macでdocker: command not foundエラーが発生した場合、以下の順序で対処することをおすすめします:

  1. Docker Desktopの設定で「System」 installationを選択
  2. それでも解決しない場合、PATHに$HOME/.docker/binを追加
  3. それでも問題が解決しない場合は、Docker Desktopの再インストールを検討

どの方法を選択する場合も、変更後にターミナルの再起動または設定ファイルの再読み込み(sourceコマンド)が必要です。