Using minikube as Docker Desktop Replacement

Overview

  • This guide will show you how to use minikube as a Docker Desktop replacement.

Before You Begin

  • This only works with the docker container runtime, not with containerd or crio.

  • You need to start minikube with a VM driver instead of docker, such as hyperkit on macOS and hyperv on Windows.

  • Alternatively, you can use the minikube image build command instead of minikube docker-env and docker build.

Steps

1Install the Docker CLI

  1. brew install docker
  1. Download the static binary archive. Go to https://download.docker.com/mac/static/stable/ and select x86_64 (for Mac on Intel chip) or aarch64 (for Mac on Apple silicon), and then download the .tgz file relating to the version of Docker Engine you want to install.

  2. Extract the archive using the tar utility. The docker binary is extracted.

  1. tar xzvf /path/to/<FILE>.tar.gz
  1. Clear the extended attributes to allow it run.
  1. sudo xattr -rc docker
  1. Move the binary to a directory on your executable path, such as /usr/local/bin/.
  1. sudo cp docker/docker /usr/local/bin/

Please Note: The docker engine requires the Windows Features: Containers and Microsoft-Hyper-V to be installed in order to function correctly. You can install these with the chocolatey command:

  1. choco install Containers Microsoft-Hyper-V --source windowsfeatures
  1. Install docker-engine
  1. choco install docker-engine
  1. This package creates the group docker-users and adds the installing user to it. In order to communicate with docker you will need to log out and back in.

  2. Download the static binary archive. Go to https://download.docker.com/win/static/stable/x86_64 and select the latest version from the list.

  3. Run the following PowerShell commands to install and extract the archive to your program files:

  1. Expand-Archive /path/to/<FILE>.zip -DestinationPath $Env:ProgramFiles
  1. Add the path to the Docker CLI binary (C:\Program Files\Docker) to the PATH environment variable, guide to setting environment variables in Windows.

  2. Restart Windows for the PATH change to take effect.

2Start minikube

Start minikube with a VM driver and `docker` container runtime if not already running.

  1. minikube start --container-runtime=docker --vm=true

3Point Docker CLI to minikube

Use the `minikube docker-env` command to point your terminal’s Docker CLI to the Docker instance inside minikube.

Note: the default profile name is minikube

  1. eval $(minikube -p <profile> docker-env)
  1. & minikube -p <profile> docker-env --shell powershell | Invoke-Expression
  1. @FOR /f "tokens=*" %i IN ('minikube -p <profile> docker-env --shell cmd') DO @%i
  1. minikube -p <profile> docker-env | source
  1. eval `minikube -p <profile> docker-env`

Last modified January 10, 2023: adding the default profile name for the examples (282cff719)