Windows GUI 版 Docker Desktop 无法启动

Windows GUI 版 Docker Desktop 无法启动

我正在使用 Windows 版 Docker Desktop。它“突然”无法启动。Docker Desktop.exe进程在后台闲置运行。但没有 GUI,甚至没有托盘图标。

两台运行 Windows 10 的机器上几乎同时出现了同样的问题。所以我怀疑是 Windows 更新导致的。在一台机器上,重新安装 Docker Desktop 解决了这个问题。但在另一台机器上,重新安装并没有帮助。在那台机器上,我也尝试在大约同一时间升级到 Windows 11,但失败了(系统回滚到 Windows 10)。我怀疑这可能是导致问题的原因。

我已尝试过:

  • 删除并重新添加所有 Windows VM 功能:Hyper-V虚拟机平台Windows 虚拟机管理程序平台适用于 Linux 的 Windows 子系统
  • 删除并重新安装 Docker Desktop
  • 我已经下载了缺失C:\Program Files\Linux Containers
  • Enable-WindowsOptionalFeature -Online -FeatureName containers -All

这是输出com.docker.diagnose.exe check

[005:14:38:31.140][I] ipc.NewClient: 0a5ab2b4-com.docker.diagnose -> \\.\pipe\dockerBackendV2 com.docker.service.exe
[goroutine 1 [running, locked to thread]:
[win/backend/pkg/service.NewClientForPath(...)
[   win/backend/pkg/service/service.go:26
[win/backend/pkg/service.NewClient(...)
[   win/backend/pkg/service/service.go:20
[common/pkg/diagkit/gather/diagnose.init()
[   common/pkg/diagkit/gather/diagnose/ipc_windows.go:23 +0x13b
Starting diagnostics

[PASS] DD0027: is there available disk space on the host?
[SKIP] DD0028: is there available VM disk space?
[FAIL] DD0031: does the Docker API work? 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_linux/v1.24/containers/json?limit=0": open //./pipe/docker_engine_linux: The system cannot find the file specified.
[FAIL] DD0004: is the Docker engine running? Get "http://ipc/docker": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.
[005:14:38:31.377][I] ipc.NewClient: 0de2a6c7-com.docker.diagnose -> \\.\pipe\dockerLifecycleServer LifecycleServer
[linuxkit/pkg/desktop-host-tools/pkg/client.NewClientForPath(...)
[   linuxkit/pkg/desktop-host-tools/pkg/client/client.go:64
[linuxkit/pkg/desktop-host-tools/pkg/client.NewClient(...)
[   linuxkit/pkg/desktop-host-tools/pkg/client/client.go:58
[common/pkg/diagkit/gather/diagnose.isDockerEngineRunning()
[   common/pkg/diagkit/gather/diagnose/dockerd.go:21 +0x5a
[common/pkg/diagkit/gather/diagnose.(*test).GetResult(0x18273c0)
[   common/pkg/diagkit/gather/diagnose/test.go:46 +0x43
[common/pkg/diagkit/gather/diagnose.Run.func1(0x18273c0)
[   common/pkg/diagkit/gather/diagnose/run.go:17 +0x5a
[common/pkg/diagkit/gather/diagnose.walkOnce.func1(0xfa9db7, 0x18273c0)
[   common/pkg/diagkit/gather/diagnose/run.go:140 +0x77
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x2, 0x18273c0, 0xc00051f7d8)
[   common/pkg/diagkit/gather/diagnose/run.go:146 +0x36
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x1, 0x1827440, 0xc00051f7d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x0, 0x100000000000000, 0xc00051f7d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkOnce(0x1119060, 0xc00051f918)
[   common/pkg/diagkit/gather/diagnose/run.go:135 +0xcc
[common/pkg/diagkit/gather/diagnose.Run(0x18275c0, 0xc0000682a0, {0xc00051fb20, 0x1, 0x1})
[   common/pkg/diagkit/gather/diagnose/run.go:16 +0x1ce
[main.checkCmd({0xc0000403f0, 0xc0000403f0, 0x4}, {0x0, 0x0})
[   common/cmd/com.docker.diagnose/main.go:130 +0x105
[main.main()
[   common/cmd/com.docker.diagnose/main.go:96 +0x273
[005:14:38:31.377][I] (6047b638) 0de2a6c7-com.docker.diagnose C->S LifecycleServer GET /docker
[005:14:38:31.378][E] (6047b638) 0de2a6c7-com.docker.diagnose C<-S NoResponse GET /docker (569.5µs): Get "http://ipc/docker": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.
[linuxkit/pkg/desktop-host-tools/pkg/client.(*lifecycleClient).GetDockerState(0xc00051f3f0)
[   linuxkit/pkg/desktop-host-tools/pkg/client/client.go:108 +0x5c
[common/pkg/diagkit/gather/diagnose.isDockerEngineRunning()
[   common/pkg/diagkit/gather/diagnose/dockerd.go:22 +0x74
[common/pkg/diagkit/gather/diagnose.(*test).GetResult(0x18273c0)
[   common/pkg/diagkit/gather/diagnose/test.go:46 +0x43
[common/pkg/diagkit/gather/diagnose.Run.func1(0x18273c0)
[   common/pkg/diagkit/gather/diagnose/run.go:17 +0x5a
[common/pkg/diagkit/gather/diagnose.walkOnce.func1(0xfa9db7, 0x18273c0)
[   common/pkg/diagkit/gather/diagnose/run.go:140 +0x77
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x2, 0x18273c0, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:146 +0x36
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x1, 0x1827440, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x0, 0x100000000000000, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkOnce(0x1119060, 0xc00051f918)
[   common/pkg/diagkit/gather/diagnose/run.go:135 +0xcc
[common/pkg/diagkit/gather/diagnose.Run(0x18275c0, 0xc0000682a0, {0xc00051fb20, 0x1, 0x1})
[   common/pkg/diagkit/gather/diagnose/run.go:16 +0x1ce
[main.checkCmd({0xc0000403f0, 0xc0000403f0, 0x4}, {0x0, 0x0})
[   common/cmd/com.docker.diagnose/main.go:130 +0x105
[main.main()
[   common/cmd/com.docker.diagnose/main.go:96 +0x273
[005:14:38:31.379][I] (6047b638-1) 0de2a6c7-com.docker.diagnose C->S LifecycleServer GET /ping
[005:14:38:31.379][E] (6047b638-1) 0de2a6c7-com.docker.diagnose C<-S NoResponse GET /ping (0s): Get "http://ipc/ping": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.
[linuxkit/pkg/desktop-host-tools/pkg/client.(*lifecycleClient).GetDockerState(0xc00051f3f0)
[   linuxkit/pkg/desktop-host-tools/pkg/client/client.go:108 +0x5c
[common/pkg/diagkit/gather/diagnose.isDockerEngineRunning()
[   common/pkg/diagkit/gather/diagnose/dockerd.go:22 +0x74
[common/pkg/diagkit/gather/diagnose.(*test).GetResult(0x18273c0)
[   common/pkg/diagkit/gather/diagnose/test.go:46 +0x43
[common/pkg/diagkit/gather/diagnose.Run.func1(0x18273c0)
[   common/pkg/diagkit/gather/diagnose/run.go:17 +0x5a
[common/pkg/diagkit/gather/diagnose.walkOnce.func1(0xfa9db7, 0x18273c0)
[   common/pkg/diagkit/gather/diagnose/run.go:140 +0x77
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x2, 0x18273c0, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:146 +0x36
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x1, 0x1827440, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x0, 0x100000000000000, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkOnce(0x1119060, 0xc00051f918)
[   common/pkg/diagkit/gather/diagnose/run.go:135 +0xcc
[common/pkg/diagkit/gather/diagnose.Run(0x18275c0, 0xc0000682a0, {0xc00051fb20, 0x1, 0x1})
[   common/pkg/diagkit/gather/diagnose/run.go:16 +0x1ce
[main.checkCmd({0xc0000403f0, 0xc0000403f0, 0x4}, {0x0, 0x0})
[   common/cmd/com.docker.diagnose/main.go:130 +0x105
[main.main()
[   common/cmd/com.docker.diagnose/main.go:96 +0x273
[005:14:38:32.391][I] (6047b638-2) 0de2a6c7-com.docker.diagnose C->S LifecycleServer GET /ping
[005:14:38:32.391][E] (6047b638-2) 0de2a6c7-com.docker.diagnose C<-S NoResponse GET /ping (0s): Get "http://ipc/ping": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.
[linuxkit/pkg/desktop-host-tools/pkg/client.(*lifecycleClient).GetDockerState(0xc00051f3f0)
[   linuxkit/pkg/desktop-host-tools/pkg/client/client.go:108 +0x5c
[common/pkg/diagkit/gather/diagnose.isDockerEngineRunning()
[   common/pkg/diagkit/gather/diagnose/dockerd.go:22 +0x74
[common/pkg/diagkit/gather/diagnose.(*test).GetResult(0x18273c0)
[   common/pkg/diagkit/gather/diagnose/test.go:46 +0x43
[common/pkg/diagkit/gather/diagnose.Run.func1(0x18273c0)
[   common/pkg/diagkit/gather/diagnose/run.go:17 +0x5a
[common/pkg/diagkit/gather/diagnose.walkOnce.func1(0xfa9db7, 0x18273c0)
[   common/pkg/diagkit/gather/diagnose/run.go:140 +0x77
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x2, 0x18273c0, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:146 +0x36
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x1, 0x1827440, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x0, 0x100000000000000, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkOnce(0x1119060, 0xc00051f918)
[   common/pkg/diagkit/gather/diagnose/run.go:135 +0xcc
[common/pkg/diagkit/gather/diagnose.Run(0x18275c0, 0xc0000682a0, {0xc00051fb20, 0x1, 0x1})
[   common/pkg/diagkit/gather/diagnose/run.go:16 +0x1ce
[main.checkCmd({0xc0000403f0, 0xc0000403f0, 0x4}, {0x0, 0x0})
[   common/cmd/com.docker.diagnose/main.go:130 +0x105
[main.main()
[   common/cmd/com.docker.diagnose/main.go:96 +0x273
[005:14:38:33.415][I] (6047b638-3) 0de2a6c7-com.docker.diagnose C->S LifecycleServer GET /ping
[005:14:38:33.415][E] (6047b638-3) 0de2a6c7-com.docker.diagnose C<-S NoResponse GET /ping (0s): Get "http://ipc/ping": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.
[linuxkit/pkg/desktop-host-tools/pkg/client.(*lifecycleClient).GetDockerState(0xc00051f3f0)
[   linuxkit/pkg/desktop-host-tools/pkg/client/client.go:108 +0x5c
[common/pkg/diagkit/gather/diagnose.isDockerEngineRunning()
[   common/pkg/diagkit/gather/diagnose/dockerd.go:22 +0x74
[common/pkg/diagkit/gather/diagnose.(*test).GetResult(0x18273c0)
[   common/pkg/diagkit/gather/diagnose/test.go:46 +0x43
[common/pkg/diagkit/gather/diagnose.Run.func1(0x18273c0)
[   common/pkg/diagkit/gather/diagnose/run.go:17 +0x5a
[common/pkg/diagkit/gather/diagnose.walkOnce.func1(0xfa9db7, 0x18273c0)
[   common/pkg/diagkit/gather/diagnose/run.go:140 +0x77
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x2, 0x18273c0, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:146 +0x36
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x1, 0x1827440, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x0, 0x100000000000000, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkOnce(0x1119060, 0xc00051f918)
[   common/pkg/diagkit/gather/diagnose/run.go:135 +0xcc
[common/pkg/diagkit/gather/diagnose.Run(0x18275c0, 0xc0000682a0, {0xc00051fb20, 0x1, 0x1})
[   common/pkg/diagkit/gather/diagnose/run.go:16 +0x1ce
[main.checkCmd({0xc0000403f0, 0xc0000403f0, 0x4}, {0x0, 0x0})
[   common/cmd/com.docker.diagnose/main.go:130 +0x105
[main.main()
[   common/cmd/com.docker.diagnose/main.go:96 +0x273
[005:14:38:34.420][I] (6047b638-4) 0de2a6c7-com.docker.diagnose C->S LifecycleServer GET /ping
[005:14:38:34.420][E] (6047b638-4) 0de2a6c7-com.docker.diagnose C<-S NoResponse GET /ping (0s): Get "http://ipc/ping": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.
[linuxkit/pkg/desktop-host-tools/pkg/client.(*lifecycleClient).GetDockerState(0xc00051f3f0)
[   linuxkit/pkg/desktop-host-tools/pkg/client/client.go:108 +0x5c
[common/pkg/diagkit/gather/diagnose.isDockerEngineRunning()
[   common/pkg/diagkit/gather/diagnose/dockerd.go:22 +0x74
[common/pkg/diagkit/gather/diagnose.(*test).GetResult(0x18273c0)
[   common/pkg/diagkit/gather/diagnose/test.go:46 +0x43
[common/pkg/diagkit/gather/diagnose.Run.func1(0x18273c0)
[   common/pkg/diagkit/gather/diagnose/run.go:17 +0x5a
[common/pkg/diagkit/gather/diagnose.walkOnce.func1(0xfa9db7, 0x18273c0)
[   common/pkg/diagkit/gather/diagnose/run.go:140 +0x77
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x2, 0x18273c0, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:146 +0x36
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x1, 0x1827440, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x0, 0x100000000000000, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkOnce(0x1119060, 0xc00051f918)
[   common/pkg/diagkit/gather/diagnose/run.go:135 +0xcc
[common/pkg/diagkit/gather/diagnose.Run(0x18275c0, 0xc0000682a0, {0xc00051fb20, 0x1, 0x1})
[   common/pkg/diagkit/gather/diagnose/run.go:16 +0x1ce
[main.checkCmd({0xc0000403f0, 0xc0000403f0, 0x4}, {0x0, 0x0})
[   common/cmd/com.docker.diagnose/main.go:130 +0x105
[main.main()
[   common/cmd/com.docker.diagnose/main.go:96 +0x273
[005:14:38:35.442][I] (6047b638-5) 0de2a6c7-com.docker.diagnose C->S LifecycleServer GET /ping
[005:14:38:35.442][E] (6047b638-5) 0de2a6c7-com.docker.diagnose C<-S NoResponse GET /ping (0s): Get "http://ipc/ping": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.
[linuxkit/pkg/desktop-host-tools/pkg/client.(*lifecycleClient).GetDockerState(0xc00051f3f0)
[   linuxkit/pkg/desktop-host-tools/pkg/client/client.go:108 +0x5c
[common/pkg/diagkit/gather/diagnose.isDockerEngineRunning()
[   common/pkg/diagkit/gather/diagnose/dockerd.go:22 +0x74
[common/pkg/diagkit/gather/diagnose.(*test).GetResult(0x18273c0)
[   common/pkg/diagkit/gather/diagnose/test.go:46 +0x43
[common/pkg/diagkit/gather/diagnose.Run.func1(0x18273c0)
[   common/pkg/diagkit/gather/diagnose/run.go:17 +0x5a
[common/pkg/diagkit/gather/diagnose.walkOnce.func1(0xfa9db7, 0x18273c0)
[   common/pkg/diagkit/gather/diagnose/run.go:140 +0x77
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x2, 0x18273c0, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:146 +0x36
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x1, 0x1827440, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x0, 0x100000000000000, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkOnce(0x1119060, 0xc00051f918)
[   common/pkg/diagkit/gather/diagnose/run.go:135 +0xcc
[common/pkg/diagkit/gather/diagnose.Run(0x18275c0, 0xc0000682a0, {0xc00051fb20, 0x1, 0x1})
[   common/pkg/diagkit/gather/diagnose/run.go:16 +0x1ce
[main.checkCmd({0xc0000403f0, 0xc0000403f0, 0x4}, {0x0, 0x0})
[   common/cmd/com.docker.diagnose/main.go:130 +0x105
[main.main()
[   common/cmd/com.docker.diagnose/main.go:96 +0x273
[005:14:38:36.453][I] (6047b638-6) 0de2a6c7-com.docker.diagnose C->S LifecycleServer GET /ping
[005:14:38:36.453][E] (6047b638-6) 0de2a6c7-com.docker.diagnose C<-S NoResponse GET /ping (357.6µs): Get "http://ipc/ping": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.
[linuxkit/pkg/desktop-host-tools/pkg/client.(*lifecycleClient).GetDockerState(0xc00051f3f0)
[   linuxkit/pkg/desktop-host-tools/pkg/client/client.go:108 +0x5c
[common/pkg/diagkit/gather/diagnose.isDockerEngineRunning()
[   common/pkg/diagkit/gather/diagnose/dockerd.go:22 +0x74
[common/pkg/diagkit/gather/diagnose.(*test).GetResult(0x18273c0)
[   common/pkg/diagkit/gather/diagnose/test.go:46 +0x43
[common/pkg/diagkit/gather/diagnose.Run.func1(0x18273c0)
[   common/pkg/diagkit/gather/diagnose/run.go:17 +0x5a
[common/pkg/diagkit/gather/diagnose.walkOnce.func1(0xfa9db7, 0x18273c0)
[   common/pkg/diagkit/gather/diagnose/run.go:140 +0x77
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x2, 0x18273c0, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:146 +0x36
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x1, 0x1827440, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x0, 0x100000000000000, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkOnce(0x1119060, 0xc00051f918)
[   common/pkg/diagkit/gather/diagnose/run.go:135 +0xcc
[common/pkg/diagkit/gather/diagnose.Run(0x18275c0, 0xc0000682a0, {0xc00051fb20, 0x1, 0x1})
[   common/pkg/diagkit/gather/diagnose/run.go:16 +0x1ce
[main.checkCmd({0xc0000403f0, 0xc0000403f0, 0x4}, {0x0, 0x0})
[   common/cmd/com.docker.diagnose/main.go:130 +0x105
[main.main()
[   common/cmd/com.docker.diagnose/main.go:96 +0x273
[005:14:38:37.469][I] (6047b638-7) 0de2a6c7-com.docker.diagnose C->S LifecycleServer GET /ping
[005:14:38:37.469][E] (6047b638-7) 0de2a6c7-com.docker.diagnose C<-S NoResponse GET /ping (345.8µs): Get "http://ipc/ping": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.
[linuxkit/pkg/desktop-host-tools/pkg/client.(*lifecycleClient).GetDockerState(0xc00051f3f0)
[   linuxkit/pkg/desktop-host-tools/pkg/client/client.go:108 +0x5c
[common/pkg/diagkit/gather/diagnose.isDockerEngineRunning()
[   common/pkg/diagkit/gather/diagnose/dockerd.go:22 +0x74
[common/pkg/diagkit/gather/diagnose.(*test).GetResult(0x18273c0)
[   common/pkg/diagkit/gather/diagnose/test.go:46 +0x43
[common/pkg/diagkit/gather/diagnose.Run.func1(0x18273c0)
[   common/pkg/diagkit/gather/diagnose/run.go:17 +0x5a
[common/pkg/diagkit/gather/diagnose.walkOnce.func1(0xfa9db7, 0x18273c0)
[   common/pkg/diagkit/gather/diagnose/run.go:140 +0x77
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x2, 0x18273c0, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:146 +0x36
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x1, 0x1827440, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x0, 0x100000000000000, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkOnce(0x1119060, 0xc00051f918)
[   common/pkg/diagkit/gather/diagnose/run.go:135 +0xcc
[common/pkg/diagkit/gather/diagnose.Run(0x18275c0, 0xc0000682a0, {0xc00051fb20, 0x1, 0x1})
[   common/pkg/diagkit/gather/diagnose/run.go:16 +0x1ce
[main.checkCmd({0xc0000403f0, 0xc0000403f0, 0x4}, {0x0, 0x0})
[   common/cmd/com.docker.diagnose/main.go:130 +0x105
[main.main()
[   common/cmd/com.docker.diagnose/main.go:96 +0x273
[005:14:38:38.484][I] (6047b638-8) 0de2a6c7-com.docker.diagnose C->S LifecycleServer GET /ping
[005:14:38:38.484][E] (6047b638-8) 0de2a6c7-com.docker.diagnose C<-S NoResponse GET /ping (0s): Get "http://ipc/ping": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.
[linuxkit/pkg/desktop-host-tools/pkg/client.(*lifecycleClient).GetDockerState(0xc00051f3f0)
[   linuxkit/pkg/desktop-host-tools/pkg/client/client.go:108 +0x5c
[common/pkg/diagkit/gather/diagnose.isDockerEngineRunning()
[   common/pkg/diagkit/gather/diagnose/dockerd.go:22 +0x74
[common/pkg/diagkit/gather/diagnose.(*test).GetResult(0x18273c0)
[   common/pkg/diagkit/gather/diagnose/test.go:46 +0x43
[common/pkg/diagkit/gather/diagnose.Run.func1(0x18273c0)
[   common/pkg/diagkit/gather/diagnose/run.go:17 +0x5a
[common/pkg/diagkit/gather/diagnose.walkOnce.func1(0xfa9db7, 0x18273c0)
[   common/pkg/diagkit/gather/diagnose/run.go:140 +0x77
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x2, 0x18273c0, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:146 +0x36
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x1, 0x1827440, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x0, 0x100000000000000, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkOnce(0x1119060, 0xc00051f918)
[   common/pkg/diagkit/gather/diagnose/run.go:135 +0xcc
[common/pkg/diagkit/gather/diagnose.Run(0x18275c0, 0xc0000682a0, {0xc00051fb20, 0x1, 0x1})
[   common/pkg/diagkit/gather/diagnose/run.go:16 +0x1ce
[main.checkCmd({0xc0000403f0, 0xc0000403f0, 0x4}, {0x0, 0x0})
[   common/cmd/com.docker.diagnose/main.go:130 +0x105
[main.main()
[   common/cmd/com.docker.diagnose/main.go:96 +0x273

[FAIL] DD0011: are the LinuxKit services running? failed to ping VM diagnosticsd with error: Get "http://ipc/ping": open \\.\pipe\dockerDiagnosticd: The system cannot find the file specified.
[005:14:38:38.484][I] ipc.NewClient: 62abc8a6-diagnose -> \\.\pipe\dockerDiagnosticd diagnosticsd
[common/pkg/diagkit/gather/diagnose.glob..func13()
[   common/pkg/diagkit/gather/diagnose/linuxkit.go:18 +0x4b
[common/pkg/diagkit/gather/diagnose.(*test).GetResult(0x1827340)
[   common/pkg/diagkit/gather/diagnose/test.go:46 +0x43
[common/pkg/diagkit/gather/diagnose.Run.func1(0x1827340)
[   common/pkg/diagkit/gather/diagnose/run.go:17 +0x5a
[common/pkg/diagkit/gather/diagnose.walkOnce.func1(0xfa9db7, 0x1827340)
[   common/pkg/diagkit/gather/diagnose/run.go:140 +0x77
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x3, 0x1827340, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:146 +0x36
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x2, 0x18273c0, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x1, 0x1827440, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x0, 0x100000000000000, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkOnce(0x1119060, 0xc00051f918)
[   common/pkg/diagkit/gather/diagnose/run.go:135 +0xcc
[common/pkg/diagkit/gather/diagnose.Run(0x18275c0, 0xc0000682a0, {0xc00051fb20, 0x1, 0x1})
[   common/pkg/diagkit/gather/diagnose/run.go:16 +0x1ce
[main.checkCmd({0xc0000403f0, 0xc0000403f0, 0x4}, {0x0, 0x0})
[   common/cmd/com.docker.diagnose/main.go:130 +0x105
[main.main()
[   common/cmd/com.docker.diagnose/main.go:96 +0x273
[005:14:38:38.484][I] (f6489133) 62abc8a6-diagnose C->S diagnosticsd GET /ping
[005:14:38:38.484][E] (f6489133) 62abc8a6-diagnose C<-S NoResponse GET /ping (0s): Get "http://ipc/ping": open \\.\pipe\dockerDiagnosticd: The system cannot find the file specified.
[common/pkg/diagkit/gather/diagnose.glob..func13()
[   common/pkg/diagkit/gather/diagnose/linuxkit.go:19 +0x54
[common/pkg/diagkit/gather/diagnose.(*test).GetResult(0x1827340)
[   common/pkg/diagkit/gather/diagnose/test.go:46 +0x43
[common/pkg/diagkit/gather/diagnose.Run.func1(0x1827340)
[   common/pkg/diagkit/gather/diagnose/run.go:17 +0x5a
[common/pkg/diagkit/gather/diagnose.walkOnce.func1(0xfa9db7, 0x1827340)
[   common/pkg/diagkit/gather/diagnose/run.go:140 +0x77
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x3, 0x1827340, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:146 +0x36
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x2, 0x18273c0, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x1, 0x1827440, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x0, 0x100000000000000, 0xc0004337d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkOnce(0x1119060, 0xc00051f918)
[   common/pkg/diagkit/gather/diagnose/run.go:135 +0xcc
[common/pkg/diagkit/gather/diagnose.Run(0x18275c0, 0xc0000682a0, {0xc00051fb20, 0x1, 0x1})
[   common/pkg/diagkit/gather/diagnose/run.go:16 +0x1ce
[main.checkCmd({0xc0000403f0, 0xc0000403f0, 0x4}, {0x0, 0x0})
[   common/cmd/com.docker.diagnose/main.go:130 +0x105
[main.main()
[   common/cmd/com.docker.diagnose/main.go:96 +0x273

[PASS] DD0016: is the LinuxKit VM running?
[FAIL] DD0001: is the application running? Docker is not running
[SKIP] DD0018: does the host support virtualization?
[PASS] DD0002: does the bootloader have virtualization enabled?
[PASS] DD0017: can a VM be started?
[PASS] DD0024: is WSL installed?
[PASS] DD0021: is the WSL 2 Windows Feature enabled?
[PASS] DD0022: is the Virtual Machine Platform Windows Feature enabled?
[FAIL] DD0025: are WSL distros installed? WSL Distribution docker-desktop is missing
[PASS] DD0026: is the WSL LxssManager service running?
[FAIL] DD0029: is the WSL 2 Linux filesystem corrupt? exit status 0xffffffff
[PASS] DD0015: are the binary symlinks installed?
[PASS] DD0003: is the Docker CLI working?
[PASS] DD0013: is the $PATH ok?
[PASS] DD0005: is the user in the docker-users group?
[FAIL] DD0007: is the backend responding? failed to ping com.docker.backend with error: Get "http://ipc/ping": open \\.\pipe\dockerBackendApiServer: The system cannot find the file specified.
[005:14:38:41.759][I] ipc.NewClient: cc73a502-diagnose -> \\.\pipe\dockerBackendApiServer BackendAPI
[common/pkg/backend.NewClientForPath(...)
[   common/pkg/backend/client.go:74
[common/pkg/backend.NewClient(...)
[   common/pkg/backend/client.go:68
[common/pkg/diagkit/gather/diagnose.glob..func8()
[   common/pkg/diagkit/gather/diagnose/ipc.go:25 +0x4c
[common/pkg/diagkit/gather/diagnose.(*test).GetResult(0x1827740)
[   common/pkg/diagkit/gather/diagnose/test.go:46 +0x43
[common/pkg/diagkit/gather/diagnose.Run.func1(0x1827740)
[   common/pkg/diagkit/gather/diagnose/run.go:17 +0x5a
[common/pkg/diagkit/gather/diagnose.walkOnce.func1(0x2, 0x1827740)
[   common/pkg/diagkit/gather/diagnose/run.go:140 +0x77
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x1, 0x1827740, 0xc0005ad7d8)
[   common/pkg/diagkit/gather/diagnose/run.go:146 +0x36
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x0, 0x100000000000000, 0xc0005ad7d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkOnce(0x1119060, 0xc00051f918)
[   common/pkg/diagkit/gather/diagnose/run.go:135 +0xcc
[common/pkg/diagkit/gather/diagnose.Run(0x18275c0, 0xc0000682a0, {0xc00051fb20, 0x1, 0x1})
[   common/pkg/diagkit/gather/diagnose/run.go:16 +0x1ce
[main.checkCmd({0xc0000403f0, 0xc0000403f0, 0x4}, {0x0, 0x0})
[   common/cmd/com.docker.diagnose/main.go:130 +0x105
[main.main()
[   common/cmd/com.docker.diagnose/main.go:96 +0x273
[005:14:38:41.759][I] (ddb6bab5) cc73a502-diagnose C->S BackendAPI GET /ping
[005:14:38:41.759][E] (ddb6bab5) cc73a502-diagnose C<-S NoResponse GET /ping (0s): Get "http://ipc/ping": open \\.\pipe\dockerBackendApiServer: The system cannot find the file specified.
[common/pkg/backend.(*backendClient).Ping(0x11dcbce)
[   common/pkg/backend/client.go:80 +0x22
[common/pkg/diagkit/gather/diagnose.glob..func8()
[   common/pkg/diagkit/gather/diagnose/ipc.go:26 +0x66
[common/pkg/diagkit/gather/diagnose.(*test).GetResult(0x1827740)
[   common/pkg/diagkit/gather/diagnose/test.go:46 +0x43
[common/pkg/diagkit/gather/diagnose.Run.func1(0x1827740)
[   common/pkg/diagkit/gather/diagnose/run.go:17 +0x5a
[common/pkg/diagkit/gather/diagnose.walkOnce.func1(0x2, 0x1827740)
[   common/pkg/diagkit/gather/diagnose/run.go:140 +0x77
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x1, 0x1827740, 0xc0005ad7d8)
[   common/pkg/diagkit/gather/diagnose/run.go:146 +0x36
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x0, 0x100000000000000, 0xc0005ad7d8)
[   common/pkg/diagkit/gather/diagnose/run.go:149 +0x73
[common/pkg/diagkit/gather/diagnose.walkOnce(0x1119060, 0xc00051f918)
[   common/pkg/diagkit/gather/diagnose/run.go:135 +0xcc
[common/pkg/diagkit/gather/diagnose.Run(0x18275c0, 0xc0000682a0, {0xc00051fb20, 0x1, 0x1})
[   common/pkg/diagkit/gather/diagnose/run.go:16 +0x1ce
[main.checkCmd({0xc0000403f0, 0xc0000403f0, 0x4}, {0x0, 0x0})
[   common/cmd/com.docker.diagnose/main.go:130 +0x105
[main.main()
[   common/cmd/com.docker.diagnose/main.go:96 +0x273

2022/01/05 14:38:41 exit status 0xffffffff

对一些错误的评论:

  • //./pipe/docker_engine_linux: The system cannot find the file specified
    
    即使我手动运行,我也能得到它dockerd。它说“API 监听 //./pipe/docker_engine”。所以可能这就是原因。clidocker可以与手动执行的守护进程对话。
  • WSL Distribution docker-desktop is missing
    
    确实如此,它wsl -l说没有分布。虽然我不认为这是我当前的问题。或者说是?

输出bcdedit /v

Windows Boot Manager
--------------------
identifier              {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device                  partition=\Device\HarddiskVolume1
path                    \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
description             Windows Boot Manager
locale                  en-GB
inherit                 {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
default                 {9cb50143-12f1-11eb-b812-9101bbd8f403}
resumeobject            {9cb50142-12f1-11eb-b812-9101bbd8f403}
displayorder            {9cb50143-12f1-11eb-b812-9101bbd8f403}
toolsdisplayorder       {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout                 30

Windows Boot Loader
-------------------
identifier              {9cb50143-12f1-11eb-b812-9101bbd8f403}
device                  partition=C:
path                    \WINDOWS\system32\winload.efi
description             Windows 10
locale                  en-GB
inherit                 {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
recoverysequence        {9cb50144-12f1-11eb-b812-9101bbd8f403}
displaymessageoverride  Recovery
recoveryenabled         Yes
isolatedcontext         Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \WINDOWS
resumeobject            {9cb50142-12f1-11eb-b812-9101bbd8f403}
nx                      OptIn
bootmenupolicy          Standard
hypervisorlaunchtype    Auto

我还能做什么来诊断问题?或者有没有办法重置 Docker?我知道 GUI 中有“恢复出厂设置”功能,但显然我无法访问它。谢谢。

答案1

Docker Desktop GUI 将日志记录到%LOCALAPPDATA%\Docker\log.txt。检查日志以查看出了什么问题。


就我的情况而言,文件已损坏%APPDATA%\Docker\locked-directories。我删除了该文件,Docker Desktop GUI 又开始工作了。

相关内容