🛢️

Dockerコマンドのパスが~/.docker/binで通らなかった件

に公開

はじめに

今回先輩のMacBookPro(M3チップ)にDockerを導入するにあたりパスがうまく通らなかったため、原因と対策をメモ

環境

  • MacBookPro(M3チップ)
  • OS確かSonoma

経緯

普通にDockerをhomebrewでインストールを行ったが、DockerDesktopがCPU関係のエラーで起動しなかった
検索してたらM3チップでDockerDesktopが動かないというissueがあった
要するにhomebrew使わずに入れたら動くらしい
実際homebrew使わずに入れたらDockerDesktopは無事に起動した

が...

dockerコマンドのパスを~/.docker/binに指定してもコマンドが使えなかった

原因

.zsh
which docker

してみたところ

.zsh
docker not found

見つからなかった

Dockerはインストール時~/.docker/binにシンボリックリンクが作成されるはずなので確認

.zsh
ls -l ~/.docker/bin

確認したところシンボリックリンクが作成されていなかったこれが原因ぽい

対策

最初に結論を書くとシンボリックリンクを手動で設定したらコマンドが通った
/Applications/Docker.app/Contents/Resources/bin/dockerがコマンド本体のパスなのでこれをリンクする

.zsh
ln -s /Applications/Docker.app/Contents/Resources/bin ~/.docker/bin

リンクするのは/Applications/Docker.app/Contents/Resources/binで最後のdockerは不要なので注意

.zsh
ls -l ~/.docker/bin

をうって

.zsh
~/.docker/bin -> /Applications/Docker.app/Contents/Resources/bin

になっていればリンクは完了
あとはシェルに応じたプロファイルに(今回は.zshrc)

.zshrc
export PATH="~/.docker/bin:$PATH"

を追記して

.zsh
source ~/.zshrc

で変更を反映

.zsh
docker -v

でバージョンが表示されればOK

おわりに

こんなことになったのは初めてだったので解決に手こずりましたが無事解決できました
もし参考になったのなら幸いです

Discussion