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

当前回答

错误与这部分有关:

在Windows上的默认守护进程配置中,docker客户端必须 被提升运行连接

首先,验证Docker Desktop应用程序正在运行。如果没有,启动它:这将运行docker守护进程(只需等待几分钟)。 然后,如果错误仍然存在,您可以尝试切换Docker守护进程类型,如下所示:

Powershell:

以管理员身份打开Powershell 启动命令:& 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon .exe

或者,使用cmd:

以管理员身份打开cmd 启动命令:“C:\Program Files\Docker\Docker\DockerCli.exe”-SwitchDaemon

其他回答

我知道这个问题是很久以前的问题了,但我没有找到合适的解释和解决方案,所以希望我的答案是有用的:)

假设你在Windows上安装了Docker工具箱,Docker和Docker -machine命令都是可用的。通常,人们在使用这两种方法时都会感到困惑。

docker命令仅在虚拟机中用于管理映像。docker-machine命令用于在主机上管理Linux虚拟机。

所以,请在您的Windows机器上使用docker-machine命令。在虚拟机内部使用docker命令。要使用docker命令,例如docker ps,您可以打开docker快速启动终端,或者在cmd/bash/PowerShell上运行这些命令:

docker-machine run default /假设default是你的Linux虚拟机/

Docker-machine SSH默认

这将启动boot2docker,您将在命令行上看到docker图标。然后可以使用docker命令。

祝你好运。

首先,我下载了windows 10的docker, OS Built 19042和版本20H2,如这个视频所示, 但我的docker还在起步阶段。我用提供的命令运行docker,但我得到了这样一个 连接时错误:Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/version: open //。/pipe/docker_engine:系统找不到文件

然后,这些解决方案为我启动docker工作:

以管理员身份打开Powershell & 运行这个命令:'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon

OR

以管理员身份打开cmd & 运行命令:"C:\Program Files\Docker\Docker\DockerCli.exe

我在这里找到了这个。希望这对你也有帮助!

我从零开始安装Docker,遇到了这个问题。 通过安装WSL解决了这个问题。

wsl --install

错误代码:

连接过程中出现错误:Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.29/version:开放 / /。/pipe/docker_engine:系统找不到指定的文件。在 Windows上的默认守护进程配置,必须运行docker客户端 抬高连接。此错误也可能表明docker Daemon未运行。

解决方案:

1)对于Windows 7命令窗口(cmd.exe),以管理员身份打开cmd.exe,执行如下命令:

docker-machine env --shell cmd default

您将收到以下输出:

SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://192.168.99.100:2376
SET DOCKER_CERT_PATH=C:\Users\USER_NAME\.docker\machine\machines\default
SET DOCKER_MACHINE_NAME=default
SET COMPOSE_CONVERT_WINDOWS_PATHS=true
REM Run this command to configure your shell:
REM @FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i

复制下面的命令并在cmd上执行:

@FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i

然后执行以下命令进行控制:

docker version

2)对于Windows 7 Powershell,以管理员身份运行Powershell .exe,执行以下命令:

docker-machine env --shell=powershell | Invoke-Expression

然后执行以下命令进行控制:

docker version

3)如果重新打开cmd或powershell,应再次重复相关步骤。

删除%appdata%\Docker下的文件夹,如Github问题所示

为了快速访问,按Ctrl+R,粘贴“%appdata%\Docker”,然后Enter,它应该打开一个文件夹位于appdata \Roaming\Docker(例如C:\Users\YourUsername\ appdata \Roaming\Docker)