Cloud Native 13 min read

How to Replace Docker Desktop with Minikube on macOS: A Step‑by‑Step Guide

This tutorial shows how to uninstall Docker Desktop on macOS, install Hyperkit, Docker CLI, kubectl and Minikube, configure CPU/memory limits, enable Ingress, MetalLB and other add‑ons, and keep Docker images and volumes while running a local Kubernetes cluster efficiently.

MaGe Linux Operations
MaGe Linux Operations
MaGe Linux Operations
How to Replace Docker Desktop with Minikube on macOS: A Step‑by‑Step Guide

Uninstall Docker Desktop

First remove Docker Desktop, which also uninstalls Hyperkit, the Docker daemon, and any bundled Kubernetes components. If you installed Docker via Homebrew, run: brew uninstall docker This removes Docker, Hyperkit, and the Docker daemon unless you have separate installations.

Install Hyperkit

Hyperkit is a lightweight hypervisor for running a local Kubernetes cluster on macOS. brew install hyperkit Verify the installation:

hyperkit -v

Install Docker CLI

We still need the Docker command‑line tools to build images and interact with containers. brew install docker Do not run brew install --cask docker, which would reinstall Docker Desktop.

Install kubectl

brew install kubectl

Install Minikube (and Docker daemon)

With Hyperkit ready, install Minikube to create a local Kubernetes cluster. brew install minikube Configure CPU and memory limits (e.g., 6 CPUs and 12 GB RAM):

minikube config set cpus 6
minikube config set memory 12g

Start the cluster with a specific Kubernetes version and the Hyperkit driver:

minikube start --kubernetes-version=v1.19.14 --driver=hyperkit --container-runtime=docker

The command outputs the VM creation, image download, and addon initialization steps.

Set Docker environment

Expose the Docker daemon inside Minikube to the host: eval $(minikube docker-env) Verify it works:

docker info

Expose Services to the Outside

Enable the Nginx Ingress controller: minikube addons enable ingress Find the Minikube IP (e.g., 192.168.64.12) and test the Ingress endpoint: curl http://192.168.64.12 Enable the Ingress‑DNS addon for custom domain resolution: minikube addons enable ingress-dns Deploy MetalLB to provide LoadBalancer‑type services and configure an IP range:

minikube addons enable metallb
minikube addons configure metallb
# Enter start IP: 192.168.64.5
# Enter end IP:   192.168.64.15

Additional Issues

Login to remote image registries – install the Docker Credential Helper if the old ~/.docker/config.json uses osxkeychain or desktop: brew install docker-credential-helper Remove the old config file if login fails and re‑authenticate.

Preserve Docker images and persistent volumes – unlike Docker Desktop, Minikube deletes images and volumes when the cluster is stopped. Use minikube pause to halt the cluster without removing the Hyperkit VM, keeping images and volumes intact, then minikube unpause to resume.

Bind mounts in Docker containers – mount a host directory into the Hyperkit VM first, then bind it into a container:

minikube mount /myvolume:/test
docker run --rm -it -v /test:/inside busybox /bin/sh

Conclusion

After a few hours of setup, the author replaced Docker Desktop with a lightweight Minikube + Hyperkit stack on macOS. The new configuration frees CPU and memory for other applications while still providing Docker CLI, Kubernetes, and persistent storage.

Related Links

Minikube driver documentation

Hyperkit driver guide

Ingress‑DNS addon

Reddit discussion

K9S view of Minikube cluster
K9S view of Minikube cluster
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

DockerKubernetesDevOpsmacOSminikubeHyperKit
MaGe Linux Operations
Written by

MaGe Linux Operations

Founded in 2009, MaGe Education is a top Chinese high‑end IT training brand. Its graduates earn 12K+ RMB salaries, and the school has trained tens of thousands of students. It offers high‑pay courses in Linux cloud operations, Python full‑stack, automation, data analysis, AI, and Go high‑concurrency architecture. Thanks to quality courses and a solid reputation, it has talent partnerships with numerous internet firms.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.