在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>

当前回答

根据@Manuel Larrota的回答,我还必须在windows任务管理器中结束所有与docker相关的进程,然后单击docker快捷图标启动docker。我最终在我的机器上得到了一个完全运行的docker实例。

其他回答

尝试从提升的命令提示符运行以下命令:

SET DOCKER_CERT_PATH=C:\Users\[YourName]\.docker\machine\machines\default
SET DOCKER_HOST=tcp://[yourDockerDeamonIp]:2376
SET DOCKER_MACHINE_NAME=default
SET DOCKER_TLS_VERIFY=1
SET DOCKER_TOOLBOX_INSTALL_PATH=C:\Program Files\Docker Toolbox

您可能还会发现,即使不设置这些env变量,从docker快速启动终端运行命令也没有问题。

我使用Windows 7与Docker工具箱和修复它只是打开 Docker快速入门终端。

客户端:版本号:17.05.0-ce API版本号:1.29 Go版本:go1.7.5 Git提交:89658be构建:周五5月5日 15:36:11 2017 OS/Arch: windows/amd64 Server: Version: 17.05.0-ce API Version: 1.29(最低版本) 1.12) Go版本:go1.7.5 Git commit: 89658be build: Thu May 4 21:43:09 2017 OS/Arch: linux/amd64 Experimental: false

在安装Windows 10之后,我也得到了同样的错误。我尝试重新启动,但它不工作,所以我做了以下(不建议如果你已经在docker工作了一段时间,这是在一个新的安装):

1)在你的系统托盘中找到鲸鱼,然后右键单击

2)进入“设置”>重置

3)恢复出厂设置

然后我就可以按照网站上的docker入门教程使用Windows 10,现在它就像一个魅力。

在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

您可以运行“C:\Program Files\Docker\Docker\DockerCli.exe”-SwitchDaemon并将Docker CLI指向Linux或Windows容器。这对我很管用。