无法在 Windows 10 中使用 Docker 作为驱动程序启动 minikube

问题描述 投票:0回答:3

我第一次尝试在我的笔记本电脑上运行 Minikube v1.19.0,使用 Docker 作为驱动程序,但没有成功。以下是执行日志:

PS C:\Users\______\kubernetes> minikube start --driver=docker --alsologtostderr
I0916 19:01:44.059272   20464 out.go:278] Setting OutFile to fd 96 ...
I0916 19:01:44.059272   20464 out.go:291] Setting ErrFile to fd 100...
W0916 19:01:44.091562   20464 root.go:292] Error reading config file at C:\Users\proskos\.minikube\config\config.json: open C:\Users\proskos\.minikube\config\config.json: The system cannot find the file specified.
I0916 19:01:44.097634   20464 out.go:285] Setting JSON to false
I0916 19:01:44.110479   20464 start.go:108] hostinfo: {"hostname":"--------","uptime":118298,"bootTime":1631689806,"procs":291,"os":"windows","platform":"Microsoft Windows 10 Enterprise","platformFamily":"Standalone Workstation","platformVersion":"10.0.18363 Build 18363","kernelVersion":"10.0.18363 Build 18363","kernelArch":"x86_64","virtualizationSystem":"","virtualizationRole":"","hostId":"---------------"}
W0916 19:01:44.110479   20464 start.go:116] gopshost.Virtualization returned error: not implemented yet
I0916 19:01:44.113153   20464 out.go:157] 😄  minikube v1.19.0 on Microsoft Windows 10 Enterprise 10.0.18363 Build 18363
😄  minikube v1.19.0 on Microsoft Windows 10 Enterprise 10.0.18363 Build 18363
I0916 19:01:44.116296   20464 driver.go:322] Setting default libvirt URI to qemu:///system
W0916 19:01:50.237519   20464 docker.go:108] docker version returned error: deadline exceeded running "docker version --format {{.Server.Os}}-{{.Server.Version}}": exit status 1
I0916 19:01:50.244288   20464 out.go:157] ✨  Using the docker driver based on user configuration
✨  Using the docker driver based on user configuration
I0916 19:01:50.244288   20464 start.go:276] selected driver: docker
I0916 19:01:50.244810   20464 start.go:718] validating driver "docker" against <nil>
I0916 19:01:50.244810   20464 start.go:729] status for docker: {Installed:true Healthy:false Running:false NeedsImprovement:false Error:exit status 1
deadline exceeded running "docker version --format {{.Server.Os}}-{{.Server.Version}}"
k8s.io/minikube/pkg/minikube/registry/drvs/docker.status
        /app/pkg/minikube/registry/drvs/docker/docker.go:104
k8s.io/minikube/pkg/minikube/registry.Status
        /app/pkg/minikube/registry/global.go:140
k8s.io/minikube/pkg/minikube/driver.Status
        /app/pkg/minikube/driver/driver.go:305
k8s.io/minikube/cmd/minikube/cmd.selectDriver
github.com/spf13/cobra.(*Command).execute
        /go/pkg/mod/github.com/spf13/[email protected]/command.go:856
github.com/spf13/cobra.(*Command).ExecuteC
        /go/pkg/mod/github.com/spf13/[email protected]/command.go:960
github.com/spf13/cobra.(*Command).Execute
        /go/pkg/mod/github.com/spf13/[email protected]/command.go:897
k8s.io/minikube/cmd/minikube/cmd.Execute
        /app/cmd/minikube/cmd/root.go:156
main.main
        /app/cmd/minikube/main.go:82
runtime.main
        /usr/local/go/src/runtime/proc.go:225
runtime.goexit
        /usr/local/go/src/runtime/asm_amd64.s:1371 Reason:PROVIDER_DOCKER_DEADLINE_EXCEEDED Fix:Restart the Docker service Doc:https://minikube.sigs.k8s.io/docs/drivers/docker/}
I0916 19:01:50.250032   20464 out.go:157]

W0916 19:01:50.250390   20464 out.go:222] 💣  Exiting due to PROVIDER_DOCKER_NOT_RUNNING: deadline exceeded running "docker version --format -": exit status 1
💣  Exiting due to PROVIDER_DOCKER_NOT_RUNNING: deadline exceeded running "docker version --format -": exit status 1
W0916 19:01:50.250390   20464 out.go:222] 💡  Suggestion: Restart the Docker service
💡  Suggestion: Restart the Docker service
W0916 19:01:50.250924   20464 out.go:222] 📘  Documentation: https://minikube.sigs.k8s.io/docs/drivers/docker/
📘  Documentation: https://minikube.sigs.k8s.io/docs/drivers/docker/
I0916 19:01:50.252904   20464 out.go:157]

Docker 桌面服务已启动并正在运行。重新启动 Docker 并没有解决该问题。以下是我的 Docker 桌面安装的详细信息:

PS C:\Users\______\kubernetes> docker version
 API version:       1.41
 Go version:        go1.16.6
 Git commit:        3967b7d
 Built:             Fri Jul 30 19:58:50 2021
 OS/Arch:           windows/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.8
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.6
  Git commit:       75249d8
  Built:            Fri Jul 30 19:52:10 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.9
  GitCommit:        e25210fe30a0a703442421b0f60afac609f950a3
 runc:
  Version:          1.0.1
  GitCommit:        v1.0.1-0-g4144b63
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

最后,我的 Docker Desktop 安装配置为运行 Linux 容器:

docker info --format '{{.OSType}}'
linux

你能帮我找出为什么 Minikube 无法与 Docker 通信吗?

windows-10 minikube docker-desktop
3个回答
10
投票

依次尝试这三个命令:

  1. minikube config set driver docker
  2. minikube delete
  3. minikube start --driver=docker

0
投票

我可能是错的,但我个人认为这是一个 docker 版本问题。

在 docker 服务启动和运行的情况下出现此类错误不是典型行为。

status for docker: {Installed:true Healthy:false Running:false NeedsImprovement:false Error:exit status 1
deadline exceeded running "docker version --format {{.Server.Os}}-{{.Server.Version}}"

and 

Exiting due to PROVIDER_DOCKER_NOT_RUNNING: deadline exceeded running "docker version --format -": exit status 1
💣  Exiting due to PROVIDER_DOCKER_NOT_RUNNING: deadline exceeded running "docker version --format -": exit status 1

我的建议:

  1. docker系统修剪彻底删除docker缓存、镜像等
  2. 完全删除minikube
  3. 现在有2个选择。要么尝试重新启动
    minikube --driver-docker
    要么卸载 docker 并安装以下 1-2 个版本。我会用最后一个来处理你的情况。

0
投票

检查您的计算机上的 docker 服务是否正在运行。我收到此错误是因为我的 docker 服务在计算机中停止了。

启动 docker 后,然后运行以下命令 -

minikube start

© www.soinside.com 2019 - 2024. All rights reserved.