Uninstalling Docker on MacOS - rajivkanaujia/alphaworks GitHub Wiki

Background

There are few good ways to remove Docker from MacOs. Some of them are

I ran into issues and had to customize mine.

Script for removing Docker from Mac

  if [ "$(which docker-machine)" == "" ]; then
    echo "docker-machine does not exist on your machine!"
  else
    docker-machine rm -f $(docker-machine ls -q);
  fi

  if [ "$(which boot2docker)" == "" ]; then
    echo "boot2docker does not exist on your machine!"
  else
    echo "Stopping boot2docker processes..."
    boot2docker stop
    boot2docker delete

    echo "Removing boot2docker executable..."
    sudo rm -rf /Applications/boot2docker
    sudo rm -f /usr/local/bin/boot2docker

    echo "Forget packages"
    sudo pkgutil --forget io.docker.pkg.docker
    sudo pkgutil --forget io.docker.pkg.dockercompose
    sudo pkgutil --forget io.docker.pkg.dockermachine
    sudo pkgutil --forget io.boot2dockeriso.pkg.boot2dockeriso

    echo "Removing boot2docker ISO and socket files..."
    rm -rf ~/.boot2docker
    sudo rm -rf /usr/local/share/boot2docker

    echo "Removing boot2docker OSX files..."
    sudo rm -f /private/var/db/receipts/io.boot2docker.*
    sudo rm -f /private/var/db/receipts/io.boot2dockeriso.*

    echo "Removing boot2docker SSH keys..."
    rm -f ~/.ssh/id_boot2docker*
  fi

  if [ "$(which brew)" == "" ]; then
    echo "brew does not exist on your machine!"
  else
    echo "Installing rmtree on your machine!"
    brew tap beeftornado/rmtree

    echo "Using rmtree to remove docker etc.!"
    # loop thru count of items to remove
    for ((i=1;i<=5;i++));
      do
        if [ "$(brew list | grep docker)" != "" ]; then
          brew rmtree docker
        fi

        if [ "$(brew list | grep docker-compose)" != "" ]; then
          brew rmtree docker-compose
        fi

        if [ "$(brew list | grep docker-machine)" != "" ]; then
          brew rmtree docker-machine
        fi

        if [ "$(brew list | grep docker-machine-driver-xhyve)" != "" ]; then
          brew rmtree docker-machine-driver-xhyve
        fi

        if [ "$(brew list | grep xhyve)" != "" ]; then
          brew rmtree xhyve
        fi
    done

    echo "Using brew uninstall --force --ignore-dependencies to remove docker etc.!"
    brew uninstall --force --ignore-dependencies docker
    brew uninstall --force --ignore-dependencies docker-compose
    brew uninstall --force --ignore-dependencies docker-machine
    brew uninstall --force --ignore-dependencies docker-machine-driver-xhyve
    brew uninstall --force --ignore-dependencies xhyve
    brew cask uninstall --force --ignore-dependencies virtualbox

    brew doctor
    brew prune
    brew update
    brew upgrade
  fi

  echo "Deleting Docker for Mac!"
  sudo rm -rf /Applications/Docker.app/
  sudo rm -rf /Applications/Kitematic\ \(Beta\).app/

  echo "Final cleanup"
  sudo rm -r /usr/local/bin/docker*
  # sudo rm -f /usr/local/bin/docker-machine
  # sudo rm -r /usr/local/bin/docker-machine-driver*
  # sudo rm -f /usr/local/bin/docker-compose
  sudo rm -r ~/Library/Containers/com.docker.docker/
  sudo rm -r ~/Library/Containers/com.docker.helper/
  sudo rm -r ~/Library/Group Containers/group.com.docker
  sudo rm -r ~/.docker/

  echo "All Done!"

Note: If you like the instructions here, please refer it on your posts/documentation. Contact me if there are corrections needed.