How Minikube uses Docker to run Kubernetes cluster

Before starting this blog I want to tell my readers currently I am giving my hands on DevOps.

Now I want to share a small learning which I learnt today.

Today while I was learning about Datree, I began to set up Datree on my system and I got to know that the Kubernetes cluster must be running to successfully install it. So, in PowerShell, I typed minikube start. I received this error:

It clearly stated that Desktop Docker wasn't running on my system and since minikube uses Docker driver to create and manage the Kubernetes cluster, it requires Docker to be running to function properly.

Now, a question arose in my mind how does Minikube uses Docker to create and manage the Kubernetes cluster? So now I went to my favourite Doubt clearing Tutor the one and only 'Chat GPT-3'. I asked him the same question and the answer he gave cleared all my doubts.

His answer was- Minikube uses various drivers to create and manage Kubernetes clusters and the Docker driver is one of them. It uses the Docker Engine to create a single-node Kubernetes cluster.

Whenever we start minikube with the docker driver first, it creates a VM with the Docker installed. We know, docker is used in running containers so minikube runs the Kubernetes cluster in a container 'on that VM'.

This Docker driver allows minikube to do various other things but the most important thing one needs to understand is that this is the way Minikube and Docker are connected.