在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守护进程解决了这个问题。只需搜索docker,按下windows键,然后点击“docker Dekstop”。Daemon应该马上就能运行了。

启动Docker Desktop后,确保左下角的Docker守护进程状态为绿色,并在鼠标悬停在其上时显示为RUNNING。

其他回答

对于win10,我有同样的问题:

error during connect: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.39/images/load?quiet=0: 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.

docker服务似乎正常工作。重启也无济于事。 以管理员身份从安装目录运行二进制文件会有所帮助。

在我的例子中:

run as administrator -> C:\Program Files\Docker\Docker\Docker for Windows.exe

我的情况是,我在WSL shell中运行docker命令,仍然能够做到这一点,而在git-bash(或另一个基于windows的shell)我面临这个错误。

对我来说,解决方案是这个答案,但重新启动窗口

对我来说,问题是虚拟化没有启用。

在windows 10上:进入任务管理器->性能-> CPU,你应该看到“虚拟化:已启用”部分

如果您没有看到此选项,则意味着尚未启用虚拟化。

另一个要注意的有趣的事情是你必须启用Hyper V。然而,当我使用并行桌面时,我必须启用“嵌套虚拟化”,以使Hyper V“真正启用”。因此,如果您的windows是一个虚拟机,请检查Parallels(或任何您正在使用的)的设置,以启用嵌套虚拟化。

在Windows 10机器上安装: 在安装搜索Windows功能之前,请先搜索并检查Windows hypervisor平台和Linux子系统

WSL 1或WSL 2的安装是强制性的,所以在docker提示您安装时安装它。

https://learn.microsoft.com/en-us/windows/wsl/install-win10

你需要从windows商店安装ubantu(版本16,18或20):

uhelp版本20

安装完成后,可以运行docker -version等命令 或docker在Linux终端运行hello-world。

本视频将帮助你: https://www.youtube.com/watch?v=5RQbdMn04Oc&t=471s

在“添加或删除程序”中卸载Docker 重新启动计算机 以管理员身份安装Docker(而不是直接运行安装程序) 如果安装程序要求重新启动,那么就重新启动