Docker Desktop Alternative (Docker-CLI + Docker-Compose + Minikube + Hyperkit)

Prashant Choudhary
2 min readDec 6, 2021

As we all know Docker-desktop is not going to be free for large organizations. As an alternative I was crowdsourcing steps from different articles. And here are is the composition for a minimalist user who uses docker to bring up dependencies in dev environment.

So, what is docker desktop?

Docker desktop is roughly a combination of Docker Daemon, Docker Cli and Docker Compose and a Desktop Gui Application to manage Docker. Out of these Docker Daemon and the Desktop application are what come under the new licensing requirement.

Why is it getting licensed?
Containers are something native to Linux. Mac and windows don’t support it out of the box. So, Docker desktop packages a Linux VM to run the containers. The daemon connects it to the host machine and helps in manipulating it. This part is complex and hence the license. Same is not required on Linux, so it is going to be free there.

Let us get Started

Installation

We are looking to replace the Daemon. Simplest solution I found was to use Minikube as the VM and Hyperkit as the Hyperviser.

Install the Minikube and Hyperkit

  • Here is the brew command
brew install minikube
brew install hyperkit

Details on minkube can be found here and hyperkit here.

Next step is to setup Docker tools

  • Remove Docker Desktop, if you were using it. Here is a link to the instructions.
  • Install docker cli.
brew install docker
  • Install docker compose if you use it.
brew install docker-compose

These steps bring us the docker command line tools that you are already familiar with.

Starting the engine

  • Start minkube
minikube start --no-kubernetes
#If you need kubernetes then remove arg --no-kubernetes
  • Tell docker where to find the daemon
eval $(minikube -p minikube docker-env)

Using the docker

This part is just about doing the regular docker stuff.
For e.g.

docker-compose up

For additional controls on running instance, use minikube with kubernetes.

--

--