Dockerが応答なしで起動しない(Intel Mac->M2 Mac移行)

2023-01-08

初売りでM2のMacBook Airを買ったので、Time Machineを使って移行したところ、Dockerがいつまで待っても起動しない状態になっていた。アクティビティモニタでみてみたら、「応答なし」の状態でどうやら途中で止まっているようだった。

もしかすると、Apple Chipに対応したバイナリにしようと、/Applicationsに入っているDockerだけ消して、brew install --cask dockerしたのが悪かったのかもしれないが原因はよくわからない。

対応

以下のURLに書かれている内容を参考にDockerを完全削除する。

https://www.drbuho.com/jp/how-to/uninstall-docker-mac

上記URLからの引用になるが、プロセスを終了して、/ApplicationsからDockerを消して、以下のファイルを消せば良いらしい(上記ページが消失した時に備えてメモしておく)。

~/Library/Caches/com.docker.docker
~/Library/Cookies/com.docker.docker.binarycookies
~/Library/Group Containers/group.com.docker
~/Library/Logs/Docker Desktop
~/Library/Preferences/com.docker.docker.plist
~/Library/Preferences/com.electron.docker-frontend.plist
~/Library/Saved Application State/com.electron.docker-frontend.savedState
~/.docker
/Library/LaunchDaemons/com.docker.vmnetd.plist
/Library/PrivilegedHelperTools/com.docker.vmnetd
/usr/local/lib/docker

上記対応を行ったうえで、brew uninstall --cask dockerbrew install --cask dockerを行ったところ正常に起動できた。

brew uninstall --cask dockerは諸々のファイルを消す前にやったかもしれない。

Docker以外でもセットアップで苦労した部分があったので、ついでにメモしておく。

terminalが起動しない

.bash_profileeval "$(rbenv init -)"の行があり、rbenvがintel chip用なので起動できずにエラーになるのでterminalが強制終了する状態になっていた。詰んだかと思ったが、Mac標準のターミナルはShift + Command + Nでコマンドを起動できるので、別のシェルを指定してことなきを得た。

homebrew

homebrewをインストールしなおした。自分の使っていたバージョンが古いせいか/usr/local/Cellarにrbenvなどはインストールされていたが、新しくインストールしたhomebrewは別のディレクトリを参照していて、brew listしても何も出てこなくなっていた。rbenvなど使っているものはインストールし直しとなった。/usr/local/Cellarはゴミだろうからそのうち消す。

rbenv

bundle exec jekyll serveしても、エラーになって起動しないので、rbenv versionsに出てくるrubyをrbenv uninstall 3.1.2などで全部消してインストールしなおした。

jekyll

jekyllの軌道のためにbundle installしたところ、eventmachineというgemがエラーになってインストールできなかった。

https://stackoverflow.com/questions/68730953/install-gem-eventmachine-1-2-7-with-ssl-on-m1

の回答を参考に以下のコマンドを実行したらインストールできた。

PKG_CONFIG_PATH="$(brew --prefix openssl@1.1)/lib/pkgconfig" gem install eventmachine -v 1.2.7