Docker Desktop for Mac を4.0.0→2.5.0にダウングレードする

Docker Desktop for Mac を4.0.0→2.5.0にダウングレードする

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アプリを起動

参考サイト

サーバ・インフラカテゴリの最新記事