I want to install minikube in my Ubuntu OS (which is existed VM provided by cloud), so I always use --driver=none and it always works correctly. And now I want to use cri-o instead of using docker and containerd, so I remove docker & containerd by using command "sudo apt-get remove docker docker-engine docker.io containerd" and then install cri-o in my Ubuntu 20.04 to install new minikube but failed and the info ask me to install docker and I think it is unreasonable.
Steps to reproduce the issue:
$ sudo minikube start --network-plugin=cilium --enable-default-cni --driver=none --extra-config=apiserver.service-account-signing-key-file=/var/lib/minikube/certs/sa.key --extra-config=apiserver.service-account-issuer=kubernetes.default.svc --kubernetes-version=v1.19.2 --container-runtime=cri-o --bootstrapper=kubeadm
* minikube v1.13.1 on Ubuntu 20.04
* Using the none driver based on existing profile
* Exiting due to PROVIDER_NONE_NOT_FOUND: The 'none' provider was not found: exec: "docker": executable file not found in $PATH
* Suggestion: Install docker
* Documentation: https://minikube.sigs.k8s.io/docs/reference/drivers/none/
Full output of failed command:
sudo minikube start --network-plugin=cilium --enable-default-cni --driver=none --extra-config=apiserver.service-account-signing-key-file=/var/lib/minikube/certs/sa.key --extra-config=apiserver.service-account-issuer=kubernetes.default.svc --kubernetes-version=v1.19.2 --container-runtime=cri-o --bootstrapper=kubeadm --alsologtostderr
I0928 03:49:02.409739 528689 out.go:191] Setting JSON to false
I0928 03:49:02.411136 528689 start.go:102] hostinfo: {"hostname":"node-10-210-58-165","uptime":81951,"bootTime":1601175791,"procs":297,"os":"linux","platform":"ubuntu","platformFamily":"debian","platformVersion":"20.04","kernelVersion":"5.4.0-48-generic","virtualizationSystem":"kvm","virtualizationRole":"host","hostid":"54702e42-2192-a0f5-11c0-6cc6ca46bcc6"}
I0928 03:49:02.411537 528689 start.go:112] virtualization: kvm host
I0928 03:49:02.414340 528689 out.go:109] * minikube v1.13.1 on Ubuntu 20.04
* minikube v1.13.1 on Ubuntu 20.04
I0928 03:49:02.414624 528689 notify.go:126] Checking for updates...
I0928 03:49:02.414992 528689 start_flags.go:380] config upgrade: Name=minikube
I0928 03:49:02.415024 528689 start_flags.go:387] config upgrade: KicBaseImage=gcr.io/k8s-minikube/kicbase:v0.0.12-snapshot3@sha256:1d687ba53e19dbe5fafe4cc18aa07f269ecc4b7b622f2251b5bf569ddb474e9b
I0928 03:49:02.415458 528689 exec_runner.go:49] Run: systemctl --version
I0928 03:49:02.417697 528689 driver.go:287] Setting default libvirt URI to qemu:///system
I0928 03:49:02.419283 528689 out.go:109] * Using the none driver based on existing profile
* Using the none driver based on existing profile
I0928 03:49:02.419323 528689 start.go:246] selected driver: none
I0928 03:49:02.419343 528689 start.go:653] validating driver "none" against &{Name:minikube KeepContext:false EmbedCerts:false MinikubeISO: KicBaseImage:gcr.io/k8s-minikube/kicbase:v0.0.12-snapshot3@sha256:1d687ba53e19dbe5fafe4cc18aa07f269ecc4b7b622f2251b5bf569ddb474e9b Memory:0 CPUs:0 DiskSize:0 VMDriver: Driver: HyperkitVpnKitSock: HyperkitVSockPorts:[] DockerEnv:[] ContainerVolumeMounts:[] InsecureRegistry:[] RegistryMirror:[] HostOnlyCIDR: HypervVirtualSwitch: HypervUseExternalSwitch:false HypervExternalAdapter: KVMNetwork: KVMQemuURI: KVMGPU:false KVMHidden:false DockerOpt:[] DisableDriverMounts:false NFSShare:[] NFSSharesRoot: UUID: NoVTXCheck:false DNSProxy:false HostDNSResolver:false HostOnlyNicType: NatNicType: KubernetesConfig:{KubernetesVersion:v1.10.0 ClusterName: APIServerName:minikubeCA APIServerNames:[] APIServerIPs:[] DNSDomain:cluster.local ContainerRuntime: CRISocket: NetworkPlugin: FeatureGates: ServiceCIDR:10.96.0.0/12 ImageRepository: LoadBalancerStartIP: LoadBalancerEndIP: ExtraOptions:[] ShouldLoadCachedImages:false EnableDefaultCNI:false CNI: NodeIP: NodePort:0 NodeName:} Nodes:[{Name:minikube IP:10.210.58.165 Port:0 KubernetesVersion:v1.10.0 ControlPlane:true Worker:true}] Addons:map[] VerifyComponents:map[] StartHostTimeout:0s}
I0928 03:49:02.419439 528689 start.go:664] status for none: {Installed:false Healthy:false Running:true NeedsImprovement:false Error:exec: "docker": executable file not found in $PATH Fix:Install docker Doc:https://minikube.sigs.k8s.io/docs/reference/drivers/none/}
I0928 03:49:02.420821 528689 out.go:109]
W0928 03:49:02.421004 528689 out.go:145] * Exiting due to PROVIDER_NONE_NOT_FOUND: The 'none' provider was not found: exec: "docker": executable file not found in $PATH
* Exiting due to PROVIDER_NONE_NOT_FOUND: The 'none' provider was not found: exec: "docker": executable file not found in $PATH
W0928 03:49:02.421373 528689 out.go:145] * Suggestion: Install docker
* Suggestion: Install docker
W0928 03:49:02.421419 528689 out.go:145] * Documentation: https://minikube.sigs.k8s.io/docs/reference/drivers/none/
* Documentation: https://minikube.sigs.k8s.io/docs/reference/drivers/none/
I0928 03:49:02.425245 528689 out.go:109]
Full output of minikube start command used, if not already included:
Optional: Full output of minikube logs command:
$ sudo minikube logs
X Exiting due to GUEST_STATUS: load: filestore "": open /root/.minikube/machines/config.json: no such file or directory
*
Unfortunately there is a bug in the driver registry, that _always_ looks for a docker binary...
However, you can install any old program - it doesn't have to be an actual docker client.
sudo cp /bin/true /usr/local/bin/docker
Also, the suggestion is silly and should be fixed too. It should only suggest that for the Docker container runtime.
There are no regression tests for any runtimes other than Docker either, so that is why it was not working properly.
Seems that it got worse in 6276c1cb1da7529b1f8fad712f6f9b7be56a7a72
Most helpful comment
Also, the suggestion is silly and should be fixed too. It should only suggest that for the Docker container runtime.
There are no regression tests for any runtimes other than Docker either, so that is why it was not working properly.
Seems that it got worse in 6276c1cb1da7529b1f8fad712f6f9b7be56a7a72