Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug "minikube start --mount" at windows 10 #9216

Closed
YuriyKrasilnikov opened this issue Sep 10, 2020 · 4 comments · Fixed by #9263
Closed

Bug "minikube start --mount" at windows 10 #9216

YuriyKrasilnikov opened this issue Sep 10, 2020 · 4 comments · Fixed by #9263
Labels
area/mount co/docker-driver Issues related to kubernetes in container kind/bug Categorizes issue or PR as related to a bug. os/windows priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release.

Comments

@YuriyKrasilnikov
Copy link

Steps to reproduce the issue:

At Windows 10:

  1. minikube start --mount
    or
  2. minikube start --driver=docker --mount-string="/Users/yuryk:/minikubehost" --mount

Full output of failed command:
I0910 20:32:19.177194 24440 out.go:191] Setting JSON to false
I0910 20:32:19.190189 24440 start.go:102] hostinfo: {"hostname":"LAPTOP-FELNAPVO","uptime":4666,"bootTime":1599754473,"procs":347,"os":"windows","platform":"Microsoft Windows 10 Home Single Language","platformFamily":"Standalone Workstation","platformVersion":"10.0.19041 Build 19041","kernelVersion":"","virtualizationSystem":"","virtualizationRole":"","hostid":"a24ab74d-2552-4ad5-8710-c5433dc7e8d1"}
W0910 20:32:19.191176 24440 start.go:110] gopshost.Virtualization returned error: not implemented yet
I0910 20:32:19.195176 24440 out.go:109] 😄 minikube v1.13.0 on Microsoft Windows 10 Home Single Language 10.0.19041 Build 19041
😄 minikube v1.13.0 on Microsoft Windows 10 Home Single Language 10.0.19041 Build 19041
I0910 20:32:19.203176 24440 notify.go:126] Checking for updates...
W0910 20:32:19.204179 24440 start.go:599] api.Load failed for minikube: filestore "minikube": Docker machine "minikube" does not exist. Use "docker-machine ls" to list machines. Use "docker-machine create" to add a new one.
I0910 20:32:19.205174 24440 driver.go:287] Setting default libvirt URI to qemu:///system
W0910 20:32:19.205174 24440 start.go:599] api.Load failed for minikube: filestore "minikube": Docker machine "minikube" does not exist. Use "docker-machine ls" to list machines. Use "docker-machine create" to add a new one.
I0910 20:32:19.340177 24440 docker.go:98] docker version: linux-19.03.12
I0910 20:32:19.343176 24440 out.go:109] ✨ Using the docker driver based on existing profile
✨ Using the docker driver based on existing profile
I0910 20:32:19.343176 24440 start.go:246] selected driver: docker
I0910 20:32:19.344177 24440 start.go:650] validating driver "docker" against &{Name:minikube KeepContext:false EmbedCerts:false MinikubeISO: KicBaseImage:gcr.io/k8s-minikube/kicbase:v0.0.12-snapshot3@sha256:1d687ba53e19dbe5fafe4cc18aa07f269ecc4b7b622f2251b5bf569ddb474e9b Memory:12288 CPUs:4 DiskSize:20000 VMDriver: Driver:docker HyperkitVpnKitSock: HyperkitVSockPorts:[] DockerEnv:[] ContainerVolumeMounts:[C:\Users\yuryk:/minikube-host] InsecureRegistry:[] RegistryMirror:[] HostOnlyCIDR:192.168.99.1/24 HypervVirtualSwitch: HypervUseExternalSwitch:false HypervExternalAdapter: KVMNetwork:default KVMQemuURI:qemu:///system KVMGPU:false KVMHidden:false DockerOpt:[] DisableDriverMounts:false NFSShare:[] NFSSharesRoot:/nfsshares UUID: NoVTXCheck:false DNSProxy:false HostDNSResolver:true HostOnlyNicType:virtio NatNicType:virtio KubernetesConfig:{KubernetesVersion:v1.19.0 ClusterName:minikube APIServerName:minikubeCA APIServerNames:[] APIServerIPs:[] DNSDomain:cluster.local ContainerRuntime:docker CRISocket: NetworkPlugin: FeatureGates: ServiceCIDR:10.96.0.0/12 ImageRepository: LoadBalancerStartIP: LoadBalancerEndIP: ExtraOptions:[] ShouldLoadCachedImages:true EnableDefaultCNI:false CNI: NodeIP: NodePort:8443 NodeName:} Nodes:[{Name: IP: Port:8443 KubernetesVersion:v1.19.0 ControlPlane:true Worker:true}] Addons:map[] VerifyComponents:map[apiserver:true system_pods:true] StartHostTimeout:6m0s}
I0910 20:32:19.346179 24440 start.go:661] status for docker: {Installed:true Healthy:true Running:false NeedsImprovement:false Error: Fix: Doc:}
I0910 20:32:19.355181 24440 cli_runner.go:110] Run: docker system info --format "{{json .}}"
I0910 20:32:20.701034 24440 start_flags.go:348] config:
{Name:minikube KeepContext:false EmbedCerts:false MinikubeISO: KicBaseImage:gcr.io/k8s-minikube/kicbase:v0.0.12-snapshot3@sha256:1d687ba53e19dbe5fafe4cc18aa07f269ecc4b7b622f2251b5bf569ddb474e9b Memory:12288 CPUs:4 DiskSize:20000 VMDriver: Driver:docker HyperkitVpnKitSock: HyperkitVSockPorts:[] DockerEnv:[] ContainerVolumeMounts:[C:\Users\yuryk:/minikube-host] InsecureRegistry:[] RegistryMirror:[] HostOnlyCIDR:192.168.99.1/24 HypervVirtualSwitch: HypervUseExternalSwitch:false HypervExternalAdapter: KVMNetwork:default KVMQemuURI:qemu:///system KVMGPU:false KVMHidden:false DockerOpt:[] DisableDriverMounts:false NFSShare:[] NFSSharesRoot:/nfsshares UUID: NoVTXCheck:false DNSProxy:false HostDNSResolver:true HostOnlyNicType:virtio NatNicType:virtio KubernetesConfig:{KubernetesVersion:v1.19.0 ClusterName:minikube APIServerName:minikubeCA APIServerNames:[] APIServerIPs:[] DNSDomain:cluster.local ContainerRuntime:docker CRISocket: NetworkPlugin: FeatureGates: ServiceCIDR:10.96.0.0/12 ImageRepository: LoadBalancerStartIP: LoadBalancerEndIP: ExtraOptions:[] ShouldLoadCachedImages:true EnableDefaultCNI:false CNI: NodeIP: NodePort:8443 NodeName:} Nodes:[{Name: IP: Port:8443 KubernetesVersion:v1.19.0 ControlPlane:true Worker:true}] Addons:map[] VerifyComponents:map[apiserver:true system_pods:true] StartHostTimeout:6m0s}
I0910 20:32:20.704033 24440 out.go:109] 👍 Starting control plane node minikube in cluster minikube
👍 Starting control plane node minikube in cluster minikube
I0910 20:32:20.783053 24440 image.go:92] Found gcr.io/k8s-minikube/kicbase:v0.0.12-snapshot3@sha256:1d687ba53e19dbe5fafe4cc18aa07f269ecc4b7b622f2251b5bf569ddb474e9b
in local docker daemon, skipping pull
I0910 20:32:20.783053 24440 cache.go:115] gcr.io/k8s-minikube/kicbase:v0.0.12-snapshot3@sha256:1d687ba53e19dbe5fafe4cc18aa07f269ecc4b7b622f2251b5bf569ddb474e9b exists in daemon, skipping pull
I0910 20:32:20.783053 24440 preload.go:97] Checking if preload exists for k8s version v1.19.0 and runtime docker
I0910 20:32:20.784033 24440 preload.go:105] Found local preload: C:\Users\yuryk.minikube\cache\preloaded-tarball\preloaded-images-k8s-v6-v1.19.0-docker-overlay2-amd64.tar.lz4
I0910 20:32:20.784033 24440 cache.go:53] Caching tarball of preloaded images
I0910 20:32:20.785044 24440 preload.go:131] Found C:\Users\yuryk.minikube\cache\preloaded-tarball\preloaded-images-k8s-v6-v1.19.0-docker-overlay2-amd64.tar.lz4 in cache, skipping download
I0910 20:32:20.785044 24440 cache.go:56] Finished verifying existence of preloaded tar for v1.19.0 on docker
I0910 20:32:20.786044 24440 profile.go:150] Saving config to C:\Users\yuryk.minikube\profiles\minikube\config.json ...
I0910 20:32:20.790047 24440 cache.go:182] Successfully downloaded all kic artifacts
I0910 20:32:20.797035 24440 start.go:298] acquiring machines lock for minikube: {Name:mka2f7579fbab2d9916e2685ea29adc789d08429 Clock:{} Delay:500ms Timeout:10m0s Cancel:}
I0910 20:32:20.797035 24440 start.go:302] acquired machines lock for "minikube" in 0s
I0910 20:32:20.799027 24440 start.go:89] Provisioning new machine with config: &{Name:minikube KeepContext:false EmbedCerts:false MinikubeISO: KicBaseImage:gcr.io/k8s-minikube/kicbase:v0.0.12-snapshot3@sha256:1d687ba53e19dbe5fafe4cc18aa07f269ecc4b7b622f2251b5bf569ddb474e9b Memory:12288 CPUs:4 DiskSize:20000 VMDriver: Driver:docker HyperkitVpnKitSock: HyperkitVSockPorts:[] DockerEnv:[] ContainerVolumeMounts:[C:\Users\yuryk:/minikube-host] InsecureRegistry:[] RegistryMirror:[] HostOnlyCIDR:192.168.99.1/24 HypervVirtualSwitch: HypervUseExternalSwitch:false HypervExternalAdapter: KVMNetwork:default KVMQemuURI:qemu:///system KVMGPU:false KVMHidden:false DockerOpt:[] DisableDriverMounts:false NFSShare:[] NFSSharesRoot:/nfsshares UUID: NoVTXCheck:false DNSProxy:false HostDNSResolver:true HostOnlyNicType:virtio NatNicType:virtio
KubernetesConfig:{KubernetesVersion:v1.19.0 ClusterName:minikube APIServerName:minikubeCA APIServerNames:[] APIServerIPs:[] DNSDomain:cluster.local ContainerRuntime:docker CRISocket: NetworkPlugin: FeatureGates: ServiceCIDR:10.96.0.0/12 ImageRepository: LoadBalancerStartIP: LoadBalancerEndIP: ExtraOptions:[] ShouldLoadCachedImages:true EnableDefaultCNI:false CNI: NodeIP: NodePort:8443 NodeName:} Nodes:[{Name: IP: Port:8443 KubernetesVersion:v1.19.0 ControlPlane:true Worker:true}] Addons:map[] VerifyComponents:map[apiserver:true system_pods:true] StartHostTimeout:6m0s} &{Name: IP: Port:8443 KubernetesVersion:v1.19.0 ControlPlane:true Worker:true}
I0910 20:32:20.800030 24440 start.go:126] createHost starting for "" (driver="docker")
I0910 20:32:20.802043 24440 out.go:109] 🔥 Creating docker container (CPUs=4, Memory=12288MB) ...
🔥 Creating docker container (CPUs=4, Memory=12288MB) ...
I0910 20:32:20.803033 24440 start.go:129] duration metric: createHost completed in 3.0035ms
I0910 20:32:20.803033 24440 start.go:80] releasing machines lock for "minikube", held for 4.0061ms
W0910 20:32:20.803033 24440 start.go:377] error starting host: config: '\Users\yuryk' container path must be absolute
I0910 20:32:20.811043 24440 cli_runner.go:110] Run: docker container inspect minikube --format={{.State.Status}}
I0910 20:32:20.887028 24440 delete.go:46] couldn't inspect container "minikube" before deleting: unknown state "minikube": docker container inspect minikube --format={{.State.Status}}: exit status 1
stdout:

stderr:
Error: No such container: minikube
I0910 20:32:20.898040 24440 cli_runner.go:110] Run: podman container inspect minikube --format={{.State.Status}}
I0910 20:32:20.906030 24440 delete.go:46] couldn't inspect container "minikube" before deleting: unknown state "minikube": podman container inspect minikube --format={{.State.Status}}: exec: "podman": executable file not found in %PATH%
stdout:

stderr:
W0910 20:32:20.908027 24440 start.go:382] delete host: Docker machine "minikube" does not exist. Use "docker-machine ls" to list machines. Use "docker-machine create" to add a new one.
W0910 20:32:20.908027 24440 out.go:145] 🤦 StartHost failed, but will try again: config: '\Users\yuryk' container path must be absolute
🤦 StartHost failed, but will try again: config: '\Users\yuryk' container path must be absolute
I0910 20:32:20.909023 24440 start.go:392] Will try again in 5 seconds ...
I0910 20:32:25.922242 24440 start.go:298] acquiring machines lock for minikube: {Name:mka2f7579fbab2d9916e2685ea29adc789d08429 Clock:{} Delay:500ms Timeout:10m0s Cancel:}
I0910 20:32:25.923227 24440 start.go:302] acquired machines lock for "minikube" in 0s
I0910 20:32:25.924234 24440 start.go:89] Provisioning new machine with config: &{Name:minikube KeepContext:false EmbedCerts:false MinikubeISO: KicBaseImage:gcr.io/k8s-minikube/kicbase:v0.0.12-snapshot3@sha256:1d687ba53e19dbe5fafe4cc18aa07f269ecc4b7b622f2251b5bf569ddb474e9b Memory:12288 CPUs:4 DiskSize:20000 VMDriver: Driver:docker HyperkitVpnKitSock: HyperkitVSockPorts:[] DockerEnv:[] ContainerVolumeMounts:[C:\Users\yuryk:/minikube-host] InsecureRegistry:[] RegistryMirror:[] HostOnlyCIDR:192.168.99.1/24 HypervVirtualSwitch: HypervUseExternalSwitch:false HypervExternalAdapter: KVMNetwork:default KVMQemuURI:qemu:///system KVMGPU:false KVMHidden:false DockerOpt:[] DisableDriverMounts:false NFSShare:[] NFSSharesRoot:/nfsshares UUID: NoVTXCheck:false DNSProxy:false HostDNSResolver:true HostOnlyNicType:virtio NatNicType:virtio
KubernetesConfig:{KubernetesVersion:v1.19.0 ClusterName:minikube APIServerName:minikubeCA APIServerNames:[] APIServerIPs:[] DNSDomain:cluster.local ContainerRuntime:docker CRISocket: NetworkPlugin: FeatureGates: ServiceCIDR:10.96.0.0/12 ImageRepository: LoadBalancerStartIP: LoadBalancerEndIP: ExtraOptions:[] ShouldLoadCachedImages:true EnableDefaultCNI:false CNI: NodeIP: NodePort:8443 NodeName:} Nodes:[{Name: IP: Port:8443 KubernetesVersion:v1.19.0 ControlPlane:true Worker:true}] Addons:map[] VerifyComponents:map[apiserver:true system_pods:true] StartHostTimeout:6m0s} &{Name: IP: Port:8443 KubernetesVersion:v1.19.0 ControlPlane:true Worker:true}
I0910 20:32:25.935214 24440 start.go:126] createHost starting for "" (driver="docker")
I0910 20:32:25.937216 24440 out.go:109] 🔥 Creating docker container (CPUs=4, Memory=12288MB) ...
🔥 Creating docker container (CPUs=4, Memory=12288MB) ...
I0910 20:32:25.938233 24440 start.go:129] duration metric: createHost completed in 3.0192ms
I0910 20:32:25.938233 24440 start.go:80] releasing machines lock for "minikube", held for 13.9989ms
W0910 20:32:25.939222 24440 out.go:145] 😿 Failed to start docker container. Running "minikube delete" may fix it: config: '\Users\yuryk' container path must be absolute
😿 Failed to start docker container. Running "minikube delete" may fix it: config: '\Users\yuryk' container path must be absolute
I0910 20:32:25.941226 24440 out.go:109]

W0910 20:32:25.949216 24440 out.go:145] ❌ Exiting due to GUEST_PROVISION: Failed to start host: config: '\Users\yuryk' container path must be absolute
❌ Exiting due to GUEST_PROVISION: Failed to start host: config: '\Users\yuryk' container path must be absolute
W0910 20:32:25.950213 24440 out.go:145]

W0910 20:32:25.950213 24440 out.go:145] 😿 If the above advice does not help, please let us know:
😿 If the above advice does not help, please let us know:
W0910 20:32:25.951222 24440 out.go:145] 👉 https://github.com/kubernetes/minikube/issues/new/choose
👉 https://github.com/kubernetes/minikube/issues/new/choose
I0910 20:32:25.953237 24440 out.go:109]

Full output of minikube start command used, if not already included:
😄 minikube v1.13.0 on Microsoft Windows 10 Home Single Language 10.0.19041 Build 19041
✨ Using the docker driver based on existing profile
👍 Starting control plane node minikube in cluster minikube
🔥 Creating docker container (CPUs=4, Memory=12288MB) ...
🤦 StartHost failed, but will try again: config: '\Users\yuryk' container path must be absolute
🔥 Creating docker container (CPUs=4, Memory=12288MB) ...
😿 Failed to start docker container. Running "minikube delete" may fix it: config: '\Users\yuryk' container path must be absolute

❌ Exiting due to GUEST_PROVISION: Failed to start host: config: '\Users\yuryk' container path must be absolute

😿 If the above advice does not help, please let us know:
👉 https://github.com/kubernetes/minikube/issues/new/choose

@sharifelgamal sharifelgamal added area/mount co/docker-driver Issues related to kubernetes in container kind/bug Categorizes issue or PR as related to a bug. os/windows priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. labels Sep 14, 2020
@sharifelgamal
Copy link
Collaborator

sharifelgamal commented Sep 14, 2020

This is a silly mounting bug we have for the docker driver on windows. We split on : to parse out the mount string, but unfortunately, Windows paths start with a drive letter, usually C:, which just breaks absolutely everything. The host path becomes C, the container path becomes the rest of the host path and the permission string becomes the container path, which is of course invalid.

We just need to be more careful parsing the mount string if we're in windows.

@jerrygreen
Copy link

jerrygreen commented Sep 15, 2022

Is this still an issue? I'm getting:

😿  Failed to start docker container. Running "minikube delete" may fix it: config: '\Program Files\Git\project' container path must be absolute

❌  Exiting due to GUEST_PROVISION: Failed to start host: config: '\Program Files\Git\project' container path must be absolute

Which is, for sure, absolute weirdo path.

For the --mount-string option, I tried a few variations, all lead to same result. Values I tried:

  • MinGW unix-y style: /c/Users/Jerry/projects/project:/project
  • Purely Windows style: C:\Users\Jerry\projects\project:/project
  • Something in-between style: C:/Users/Jerry/projects/project:/project

None of which work, and, by some reason, it tries to look into \Program Files\Git\project

Btw I'm not using CMD.exe, nor Powershell, I use bash shell, which comes with git:

GNU bash, version 4.4.23(1)-release-(x86_64-pc-msys)

Which looks like this:

image

Isn't it supported?

@diegopefm
Copy link

diegopefm commented Sep 27, 2022

Were you able to solve it @jerrygreen? I'm still facing this exact same issue. I'm in Windows 10 with latest minikube 1.27 installer and this is my output:

minikube_error_1

This is being a nightmare, no matter what I try, always leads to the same "path must be absolute" error and does not mount the image. I'm completely stuck.

What can I do @sharifelgamal?

@jerrygreen
Copy link

I just tried minikube delete, and then tried all from scratch minikube start .... I didn't get this error second time somehow.

BUT, it is different than your setup. Because I didn't use Powershell, I used Bash. The path format I was using was C:/Users/Jerry/etc. Still don't know why I faced this error the first time, because seemingly I didn't do anything new

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/mount co/docker-driver Issues related to kubernetes in container kind/bug Categorizes issue or PR as related to a bug. os/windows priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants