dockerkubernetesminikube

Minikube fails to start on Windows 11 Home and Docker Desktop


I have Windows 11 Home (which does not allow Hyper-V, only Pro edition does). Installed WSL2 and Docker Desktop.

Installed Minikube using Chocolatey but it refused to start. Searching on SO, I found this advice in several posts, but it failed to work.

PS C:\WINDOWS\system32> docker system prune
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all dangling images
  - all dangling build cache

Are you sure you want to continue? [y/N] y
error during connect: In the default daemon configuration on Windows, the docker client must be run with elevated privileges to connect.: Post "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/prune": open //./pipe/docker_engine: The system cannot find the file specified.

PS C:\WINDOWS\system32> minikube delete
* Removed all traces of the "minikube" cluster.

PS C:\WINDOWS\system32> minikube start --driver=docker
* minikube v1.25.2 on Microsoft Windows 11 Home 10.0.22000 Build 22000
* Using the docker driver based on user configuration

X Exiting due to PROVIDER_DOCKER_VERSION_EXIT_1: "docker version --format -" exit status 1: error during connect: In the default daemon configuration on Windows, the docker client must be run with elevated privileges to connect.: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/version": open //./pipe/docker_engine: The system cannot find the file specified.
* Documentation: https://minikube.sigs.k8s.io/docs/drivers/docker/

Solution

  • I thought of trying to have Docker Desktop already running before I start minikube.

    From the Windows Start menu, I ran Docker Desktop in Administrator mode.

    Now I ran the command again to remove old stuff,

    PS C:\WINDOWS\system32> minikube delete
    * Removed all traces of the "minikube" cluster.
    

    and now specify the docker driver

    PS C:\WINDOWS\system32> minikube start --driver=docker
    * minikube v1.25.2 on Microsoft Windows 11 Home 10.0.22000 Build 22000
    * Using the docker driver based on user configuration
    * Starting control plane node minikube in cluster minikube
    * Pulling base image ...
        > gcr.io/k8s-minikube/kicbase: 379.06 MiB / 379.06 MiB  100.00% 10.23 MiB p
    * Creating docker container (CPUs=2, Memory=3000MB) ...
    * Preparing Kubernetes v1.23.3 on Docker 20.10.12 ...
      - kubelet.housekeeping-interval=5m
      - Generating certificates and keys ...
      - Booting up control plane ...
      - Configuring RBAC rules ...
    * Verifying Kubernetes components...
      - Using image gcr.io/k8s-minikube/storage-provisioner:v5
    * Enabled addons: storage-provisioner, default-storageclass
    * Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
    

    Now verify minikube status

    PS C:\WINDOWS\system32> minikube status
    minikube
    type: Control Plane
    host: Running
    kubelet: Running
    apiserver: Running
    kubeconfig: Configured
    

    I don't know kubernetes as I am learning it, but it appears to have worked. I hope this will be useful to someone so they do not have to go off and spend $99 to upgrade to Windows Pro - as I was going to do if this did not work.

    Update: Here is a link with more details How to run Kubernetes on Windows 11