在Windows上执行docker version命令返回的结果如下:

C:\Projects> docker version
Client:
 Version:      1.13.0-dev
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   d8d3314
 Built:        Tue Nov  1 03:05:34 2016
 OS/Arch:      windows/amd64
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.25/version: open //./pipe/docker_engine: The system cannot find the file
specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.

运行诊断将产生以下结果:

C:\Projects> wget https://github.com/Microsoft/Virtualization- 
Documentation/raw/master/windows-server-container-tools/Debug- 
ContainerHost/Debug-ContainerHost.ps1 -UseBasicParsin | iex

Checking for common problems
Describing Windows Version and Prerequisites
 [+] Is Windows 10 Anniversary Update or Windows Server 2016 608ms
 [+] Has KB3192366, KB3194496, or later installed if running Windows build 14393 141ms
 [+] Is not a build with blocking issues 29ms
Describing Docker is installed
 [-] A Docker service is installed - 'Docker' or 'com.Docker.Service'  134ms
   Expected: value to not be empty
   27:         $services | Should Not BeNullOrEmpty
   at <ScriptBlock>, <No file>: line 27
 [+] Service is running 127ms
 [+] Docker.exe is in path 2.14s
Describing User has permissions to use Docker daemon
 [+] docker.exe should not return access denied 42ms
Describing Windows container settings are correct
 [-] Do not have DisableVSmbOplock set to 1 53ms
   Expected: {0}
   But was:  {1}
   66:              $regvalue.VSmbDisableOplocks | Should Be 0
   at <ScriptBlock>, <No file>: line 66
 [+] Do not have zz values set 42ms
Describing The right container base images are installed
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.25/images/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
 [-] At least one of 'microsoft/windowsservercore' or 'microsoft/nanoserver' should be installed 129ms
   ValidationMetadataException: The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
   ParameterBindingValidationException: Cannot validate argument on parameter 'Property'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
   at <ScriptBlock>, <No file>: line 90
Describing Container network is created
 [-] Error occurred in Describe block 1.08s
   RuntimeException: Cannot index into a null array.
   at <ScriptBlock>, <No file>: line 119
Showing output from: docker info

Showing output from: docker version
Client:
 Version:      1.13.0-dev
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   d8d3314
 Built:        Tue Nov  1 03:05:34 2016
 OS/Arch:      windows/amd64

Showing output from: docker network ls

Warnings & errors from the last 24 hours
Logs saved to C:\Projects\logs_20161107-084122.csv
C:\Projects>

当前回答

在安装docker桌面到您的pc (windows一)。你可以找到这个地方。到底是什么?它通过CLI启动Docker Daemon

"C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon

其他回答

在powershell或Git bash中打开C驱动器并运行以下命令

.\Program Files\Docker\Docker\DockerCli.exe -SwitchDaemon

不知何故,我的docker桌面无法在安装和系统重启后的第一次尝试启动,所以我在任务管理器中杀死了docker进程,并再次打开docker桌面,它启动良好。能够从cmd提示符(docker run -d -p <project_name>)运行项目,能够在docker桌面中看到我的容器图像。

如果其他答案都不适合你,试试这个: 打开一个终端并运行:

wsl -l -v 

如果你注意到Docker -desktop仍然挂在“Installing”状态,关闭Docker,以管理员身份运行powershell并注销Docker -desktop:

PS C:\WINDOWS\system32> .\wslconfig.exe /u docker-desktop

重新启动docker,希望它能工作。如果没有,尝试先卸载docker,然后注销docker-desktop,重新安装docker。

来源:https://github.com/docker/for-win/issues/7295 # issuecomment - 645989416

遇到类似的问题,在运行在WSL2上的Windows虚拟机上安装了docker桌面。

解决方案:

更新Windows到最新版本,VMTools到最新(11.2)版本,修复了这个问题,现在docker正在不停地运行。

我解决这个问题的最简单的方法是终止docker桌面并重新启动它。如果您在左下角看到一个蓝色的docker图标,那么这意味着docker守护进程已经成功启动,上面的错误应该得到修复。