Dockerが応答なしで起動しない(Intel Mac->M2 Mac移行)
初売りで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 docker
、brew install --cask docker
を行ったところ正常に起動できた。
brew uninstall --cask docker
は諸々のファイルを消す前にやったかもしれない。
他
Docker以外でもセットアップで苦労した部分があったので、ついでにメモしておく。
terminalが起動しない
.bash_profile
にeval "$(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