Skip to content

minikube start fails when ports and kubernetes options are used #21939

@kaliif

Description

@kaliif

What Happened?

Starting minikube with the following command fails:

minikube start --cpus=4 --disk-size='100gb' --kubernetes-version=v1.33.1 --addons=ingress --ports=80:80,443,443

Error message suggests that there's a port conflict but queries with lsof and netstat do not confirm this.

$ minikube start --cpus=4     --disk-size='100gb'     --kubernetes-version=v1.33.1     --addons=ingress     --ports=80:80,443,443 
😄  minikube v1.36.0 on Debian 13.1 (kvm/amd64)
    ▪ KUBECONFIG=/home/user/.kube/config
✨  Automatically selected the docker driver
📌  Using Docker driver with root privileges
👍  Starting "minikube" primary control-plane node in "minikube" cluster
🚜  Pulling base image v0.0.47 ...
🔥  Creating docker container (CPUs=4, Memory=3900MB) ...
🤦  StartHost failed, but will try again: creating host: create: creating: create kic node: create container: docker run -d -t --privileged --security-opt seccomp=unconfined --tmpfs /tmp --tmpfs /run -v /lib/modules:/lib/modules:ro --hostname minikube --name minikube --label created_by.minikube.sigs.k8s.io=true --label name.minikube.sigs.k8s.io=minikube --label role.minikube.sigs.k8s.io= --label mode.minikube.sigs.k8s.io=minikube --network minikube --ip 192.168.49.2 --volume minikube:/var --security-opt apparmor=unconfined --memory=3900mb -e container=docker --expose 8443 -p 80:80 -p 443 -p 443 --publish=127.0.0.1::8443 --publish=127.0.0.1::22 --publish=127.0.0.1::2376 --publish=127.0.0.1::5000 --publish=127.0.0.1::32443 gcr.io/k8s-minikube/kicbase:v0.0.47@sha256:6ed579c9292b4370177b7ef3c42cc4b4a6dcd0735a1814916cbc22c8bf38412b: exit status 125
stdout:
0a4eb7e7fcdfd8c8fc636c3c27f4014e0f25cfd29560f3ebef8fa31faf091628

stderr:
docker: Error response from daemon: driver failed programming external connectivity on endpoint minikube (df3f01492941038e64b033f657b977d964ab08a20b4be7c9a7ee92ece4152f1b): failed to bind port 0.0.0.0:32857/tcp: Error starting userland proxy: listen tcp4 0.0.0.0:32857: bind: address already in use.

🤷  docker "minikube" container is missing, will recreate.
🔥  Creating docker container (CPUs=4, Memory=3900MB) ...
😿  Failed to start docker container. Running "minikube delete" may fix it: recreate: creating host: create: creating: create kic node: create container: docker run -d -t --privileged --security-opt seccomp=unconfined --tmpfs /tmp --tmpfs /run -v /lib/modules:/lib/modules:ro --hostname minikube --name minikube --label created_by.minikube.sigs.k8s.io=true --label name.minikube.sigs.k8s.io=minikube --label role.minikube.sigs.k8s.io= --label mode.minikube.sigs.k8s.io=minikube --network minikube --ip 192.168.58.2 --volume minikube:/var --security-opt apparmor=unconfined --memory=3900mb -e container=docker --expose 8443 -p 80:80 -p 443 -p 443 --publish=127.0.0.1::8443 --publish=127.0.0.1::22 --publish=127.0.0.1::2376 --publish=127.0.0.1::5000 --publish=127.0.0.1::32443 gcr.io/k8s-minikube/kicbase:v0.0.47@sha256:6ed579c9292b4370177b7ef3c42cc4b4a6dcd0735a1814916cbc22c8bf38412b: exit status 125
stdout:
1ea8f552679e2ab8ba93584e8d4b690e665223691e5989e711da819621a431bc

stderr:
docker: Error response from daemon: driver failed programming external connectivity on endpoint minikube (7e2e23362c060881d4670cd6a1cdf421a58f5c06043b5f0fef63ac2728b68a69): failed to bind port 0.0.0.0:32867/tcp: Error starting userland proxy: listen tcp4 0.0.0.0:32867: bind: address already in use.


❌  Exiting due to GUEST_PROVISION: error provisioning guest: Failed to start host: recreate: creating host: create: creating: create kic node: create container: docker run -d -t --privileged --security-opt seccomp=unconfined --tmpfs /tmp --tmpfs /run -v /lib/modules:/lib/modules:ro --hostname minikube --name minikube --label created_by.minikube.sigs.k8s.io=true --label name.minikube.sigs.k8s.io=minikube --label role.minikube.sigs.k8s.io= --label mode.minikube.sigs.k8s.io=minikube --network minikube --ip 192.168.58.2 --volume minikube:/var --security-opt apparmor=unconfined --memory=3900mb -e container=docker --expose 8443 -p 80:80 -p 443 -p 443 --publish=127.0.0.1::8443 --publish=127.0.0.1::22 --publish=127.0.0.1::2376 --publish=127.0.0.1::5000 --publish=127.0.0.1::32443 gcr.io/k8s-minikube/kicbase:v0.0.47@sha256:6ed579c9292b4370177b7ef3c42cc4b4a6dcd0735a1814916cbc22c8bf38412b: exit status 125
stdout:
1ea8f552679e2ab8ba93584e8d4b690e665223691e5989e711da819621a431bc

stderr:
docker: Error response from daemon: driver failed programming external connectivity on endpoint minikube (7e2e23362c060881d4670cd6a1cdf421a58f5c06043b5f0fef63ac2728b68a69): failed to bind port 0.0.0.0:32867/tcp: Error starting userland proxy: listen tcp4 0.0.0.0:32867: bind: address already in use.


╭───────────────────────────────────────────────────────────────────────────────────────────╮
│                                                                                           │
│    😿  If the above advice does not help, please let us know:                             │
│    👉  https://github.com/kubernetes/minikube/issues/new/choose                           │
│                                                                                           │
│    Please run `minikube logs --file=logs.txt` and attach logs.txt to the GitHub issue.    │
│                                                                                           │
╰───────────────────────────────────────────────────────────────────────────────────────────╯

It's always a different port but somewhere in 30000s.

Trying to start a cluster without specifying both ports and kubernetes version seems to succeed:

$ minikube start --cpus=4     --disk-size='100gb'      --addons=ingress  
😄  minikube v1.36.0 on Debian 13.1 (kvm/amd64)
    ▪ KUBECONFIG=/home/user/.kube/config
✨  Automatically selected the docker driver
📌  Using Docker driver with root privileges
👍  Starting "minikube" primary control-plane node in "minikube" cluster
🚜  Pulling base image v0.0.47 ...
🔥  Creating docker container (CPUs=4, Memory=3900MB) ...
🐳  Preparing Kubernetes v1.33.1 on Docker 28.1.1 ...
    ▪ Generating certificates and keys ...
    ▪ Booting up control plane ...
    ▪ Configuring RBAC rules ...
🔗  Configuring bridge CNI (Container Networking Interface) ...
🔎  Verifying Kubernetes components...
    ▪ Using image registry.k8s.io/ingress-nginx/controller:v1.12.2
    ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
    ▪ Using image registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.5.3
    ▪ Using image registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.5.3
🔎  Verifying ingress addon...
🌟  Enabled addons: storage-provisioner, default-storageclass, ingress
🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

Issue #16766 mentions a similar error, although the ports the minikube complains then are the ones given, not something completely different, so I'm not sure this is related.

Following a hint from this thread I tried downgrading docker. Curiously, while the system docker says the downgrade succeeded and the version is the same that fixed the issue above

$ docker --version
Docker version 27.5.1, build 9f9e405

minikube on successful launch still says it's using docker 28.1.1.

Same results with both minikube v1.36.0 and minikube v1.37.0.

Tried on Debian Trixie (13.1) virtual machine running on Kubuntu 25.04 host with qemu.

Logs attached.

Attach the log file

minikube_logs.txt

Operating System

Other

Driver

Docker

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions