Docker Desktop for Macを何も考えずに4.0.0の最新までアップデートしていたら、コンテナが起動しない事象が発生してしまったので、2.5.0にダウングレードした時の記録。
うまくいかなかった方法
- アプリケーションフォルダからDockerを削除
- 2.5.0のDockerをアプリケーションフォルダにドラッグ&ドロップ
- Dockerアプリを起動
この手順の場合、「Reset Docker Desktop to factory defaults」というメッセージが出てきて、
実行すると一向に終わらない。1時間弱待っても終わる気配がなかった。
うまくいった方法
- Docker Desktopに搭載されているアンインストールを行う
Troubleshootを開き、「Reset to factory defaults」と「Uninstall」を順に実行する
- アプリケーションフォルダから「Docker」をゴミ箱に移動
- Dockerの関連ファイルを削除
rm -f /usr/local/bin/docker
rm -rf ~/.docker
rm -rf ~/Library/Containers/com.docker.docker
rm -rf ~/Library/Application\ Support/Docker\ Desktop
rm -rf ~/Library/Group\ Containers/group.com.docker
rm -rf ~/Library/HTTPStorages/com.docker.docker.binarycookies
rm -rf /Library/LaunchDaemons/com.docker.vmnetd.plist
rm -rf ~/Library/Logs/Docker\ Desktop
rm -rf /usr/local/lib/docker
rm -f ~/Library/Preferences/com.docker.docker.plist
rm -rf ~/Library/Saved\ Application\ State/com.electron.docker-frontend.savedState
rm -f ~/Library/Preferences/com.electron.docker-frontend.plist
- 2.5.0のDockerをアプリケーションフォルダにドラッグ&ドロップ
- Docker起動時に Fatal Error, Segmentation violation exception が発生するため、
VirtualBox Kernel Extensionのアンロードを実施する
kmutil showloaded | grep virtualbox
ロードされているVirtualBox Kernel Extensionがあれば、リストアップされてくる。
リストアップされれば、以下を実行して、アンロードする。
sudo kmutil unload -b org.virtualbox.kext.VBoxUSB
sudo kmutil unload -b org.virtualbox.kext.VBoxNetFlt
sudo kmutil unload -b org.virtualbox.kext.VBoxNetAdp
sudo kmutil unload -b org.virtualbox.kext.VBoxDrv
kmutil showloaded | grep virtualbox
ロードされているVirtualBox Kernel Extensionが空になっていることを確認する - Dockerアプリを起動
参考サイト
- kmutil showloaded | grep virtualbox
https://memo.xight.org/2020-11-09-1 - Docker Desctop for mac を cli から削除する – Qiita
https://qiita.com/esu_eichi/items/72bcd5801971fee793fe - Docker3.0.0にアップデートしたら、なんか起動しなくなった件 – Qiita https://qiita.com/TeppeiMimachi/items/14c4a411ab56cd5892c7