执行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>
答案 0 :(得分:29)
错误代码:
连接期间出现错误:获取 http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.29/version:开放 //./pipe/docker_engine:系统找不到指定的文件。在里面 Windows上的默认守护程序配置必须运行docker客户端 升高连接。此错误也可能表示该docker 守护程序没有运行。
解决方案:
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,则应重复相关步骤。
答案 1 :(得分:14)
错误与该部分有关:
在Windows的默认守护程序配置中,docker客户端必须 被提升到可以连接
您可以执行以下操作以切换Docker守护程序:
cd "C:\Program Files\Docker\Docker"
./DockerCli.exe -SwitchDaemon
答案 2 :(得分:13)
答案 3 :(得分:10)
如果您在左侧底部看到 docker desktop is STOPPED 或 Not Running 屏幕,请执行以下操作
我遇到了这个问题。我尝试了上述步骤,它对我有用。谢谢!
答案 4 :(得分:7)
我很久以前就知道这个问题,但我找不到合适的解释和解决方案,所以希望我的答案很有用:)
假设您在Windows上安装Docker Toolbox,docker
和docker-machine
命令都可用。通常情况下,人们会在使用其中任何一个时感到困惑。
docker
命令仅在虚拟机中用于管理图像。 docker-machine
命令在主机上用于管理Linux VM。
因此,请在Windows计算机上使用docker-machine
命令。在VM中使用docker
命令。要使用docker
命令,例如docker ps
,您可以打开 Docker快速入门终端 ,也可以在cmd / bash / PowerShell上运行这些命令:
docker-machine run default
/ 假设默认是您的Linux VM /
docker-machine ssh default
这将启动 boot2docker ,您将在命令行上看到docker图标。然后,您可以使用docker
命令。
答案 5 :(得分:6)
您可以使用C:\ Program Files \ Docker \ Docker&gt; DockerCli.exe -SwitchDaemon并将Docker CLI指向Linux或Windows容器。这对我有用。
答案 6 :(得分:3)
对于 Docker版本19.03.12 和 Windows 10 ,我遇到了相同的错误。通过执行以下步骤解决了该问题。希望对别人有帮助。
以上解决方案假定已安装Docker,并且已在系统中启用 Hyper-V / 虚拟化。
答案 7 :(得分:3)
对我来说,问题是未启用虚拟化。
在Windows 10上:转到任务管理器 - &gt;表现 - &gt; CPU和您应该看作“虚拟化:已启用”部分
如果您没有看到此选项,则表示尚未启用虚拟化。
另一个有趣的事情是你必须启用Hyper V。然而,当我使用parallels桌面时,我必须启用“嵌套虚拟化”才能使Hyper V“真正启用”。因此,如果您的Windows是虚拟机,请查看启用嵌套虚拟化的Parallels(或您正在使用的任何设置)的设置。
答案 8 :(得分:2)
答案 9 :(得分:2)
对于在 Windows 10 机器上安装: 在安装搜索 Windows 功能之前,请在搜索中检查 Windows 管理程序平台和 Linux 子系统
WSL 1 或 2 的安装是强制性的,所以在 docker 提示您安装时安装它。
https://docs.microsoft.com/en-us/windows/wsl/install-win10
您需要从 Windows 商店安装 ubantu(版本 16、18 或 20):
安装后你可以运行命令 docker -version
或 docker run hello-world
在 Linux 终端中。
答案 10 :(得分:2)
当我在 Windows 10 中开始使用 docker 时出现了同样的问题。我能够成功运行 docker --version
,但在我尝试运行 docker pull docker/whalesay
时失败。
我尝试了这里的答案中建议的许多内容,但是当我按照以下步骤操作时,我的问题得到了解决:
1 .在windows中搜索docker,以管理员身份运行docker desktop。
2 .检查左下角的 docker 符号,如果 docker 正在运行,它应该是绿色的。
3 .如果它没有运行,请先安装“wsl_update”。
4 .打开 docker 桌面并使用您的 docker 凭据登录,当您登录时,您可以看到服务器重新启动并且左下角的标志变为绿色。
5.要检查docker是否正在运行以管理员身份打开PowerShell并运行docker run hello-world
。
答案 11 :(得分:2)
在powershell或Git bash中打开C盘并在命令下运行
n=2
答案 12 :(得分:2)
如果您在启用了Hyper-V的Windows 10 Pro上安装了docker,但仍然无法在Windows 10上运行Docker,那么错误表明您的docker守护程序未启动。按照以下步骤帮助我成功启动docker-
1.在CMD上使用命令(管理模式)
docker-machine restart default
然后你会得到msg,比如“打开C:\ User \ {User_name} \。docker \ machine \ machines \ default \ config.json:系统找不到指定的文件。”
转到将在Windows托盘(桌面右上角)上的泊坞窗图标。
然后右键单击泊坞窗图标 - &gt;设置 - &GT;重置 - &gt;重启Docker
这需要一些时间
然后你会看到消息“Docker正在运行绿色指示器”。
注意 - 如果您已经在系统上运行了Docker容器,请不要执行这些步骤。你可能会松开现有的容器。
答案 13 :(得分:2)
我最近有同样的问题。问题是安全软件(Trendmicro)阻止了docker创建Hyperv网络接口。您还应该检查防火墙,AV软件是否阻止安装或配置。
答案 14 :(得分:2)
如果没有其他答案对您有用,请尝试以下操作: 打开终端并运行:
wsl -l -v
如果您注意到docker-desktop处于“安装”状态,请关闭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
答案 15 :(得分:1)
我也遇到错误提示
<template lang="pug">
checkboxgroup(v-slot="{ allChecked }")
checkbox(title="200 мм" summ="2" v-bind:checked="allChecked" style="badge")
checkbox(title="300 мм" summ="4" v-bind:checked="allChecked" style="badge")
checkbox(title="400 мм" summ="5" v-bind:checked="allChecked" style="badge")
checkbox(title="500 мм" summ="6" v-bind:checked="allChecked" style="badge")
checkbox(title="600 мм" summ="7" v-bind:checked="allChecked" style="badge")
checkbox(title="900 мм" summ="8" v-bind:checked="allChecked" style="badge")
</template>
通过在管理员模式下运行“ powershell”来解决此问题。
答案 16 :(得分:1)
答案 17 :(得分:1)
我在Windows 10上安装后遇到了同样的错误。我尝试重新启动但是没有用,所以我做了以下(不建议如果你已经在docker工作了一段时间,这是一个全新安装):
1)找到系统托盘中的鲸鱼,然后右键单击
2)转到设置&gt;重置
3)重置为出厂默认值
然后我能够在Windows 10的网站上关注起始的docker教程,现在它就像魅力一样。
答案 18 :(得分:1)
我的一个朋友遇到了类似的问题,我们尝试了一下,并且奏效了。
Hyper-V尽管在“打开或关闭Windows功能”中被列出为处于活动状态,但实际上并未处于活动状态。在PowerShell下运行 systeminfo 并看到 列出了满足的要求(这不是您实际期望的Hyper-V输出)。
现在您可以通过运行docker hello-world image进行测试。
答案 19 :(得分:1)
答案 20 :(得分:0)
将docker桌面安装到您的PC后(Windows一)。您可以找到此位置。实际上是什么?它通过您的CLI启动Docker Daemon
"C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon
答案 21 :(得分:0)
您需要管理员特权才能运行服务
我有类似的问题。当我运行命令提示符(以管理员身份运行),然后键入“ docker version”时,问题消失了。
C:\ WINDOWS \ system32> docker版本
客户端:Docker Engine-社区 版本:19.03.8 API版本:1.40 Go版本:go1.12.17 Git提交:afacb8b 建成:2020年3月11日星期三01:23:10 操作系统/ Arch:Windows / amd64 实验性的:错误
服务器:Docker Engine-社区 发动机: 版本:19.03.8 API版本:1.40(最低版本1.12) Go版本:go1.12.17 Git提交:afacb8b 建成:2020年3月11日星期三01:29:16 操作系统/ Arch:linux / amd64 实验性:错误 装箱: 版本:v1.2.13 GitCommit:7ad184331fa3e55e52b890ea95e65ba581ae3429 runc: 版本:1.0.0-rc10 GitCommit:dc9208a3303feef5b3839f4323d9beb36df0a9dd docker-init: 版本:0.18.0 GitCommit:fec3683
答案 22 :(得分:0)
在WSL2上运行的Windows VM上安装了docker桌面后,遇到了类似的问题。
解决方案:
将Windows更新到最新版本,将VMTools更新到最新(11.2)版本,解决了该问题,现在docker正在不间断运行。
答案 23 :(得分:0)
我也遇到过同样的问题,可能是管理员的问题,因此请按照以下步骤在
上设置dockerwindows10
。
Docker Desktop Installer.exe
文件将被下载。Docker Desktop Installer.exe
安装Run as administrator
->在安装过程中标记Windows容器,否则它将仅安装linux容器。注销后将要求注销并登录,并在菜单中显示docker桌面。Run as administrator
运行docker桌面
答案 24 :(得分:0)
答案 25 :(得分:0)
我的解决方案非常简单。我注意到docker运行的是Linux容器而不是Windows容器。我所做的是通过右键单击系统托盘中的docker图标并选择切换到Windows容器来切换到Windows容器。
答案 26 :(得分:0)
我解决问题的最简单方法是终止 docker 桌面并重新启动它。如果您在左下角看到一个蓝色的 docker 图标,则表示 docker daemon 已成功启动,上面的错误应该已修复。
答案 27 :(得分:0)
答案 28 :(得分:0)
通过运行docker桌面应用为我解决,签到通知。必要时进行设置。
$ net start com.docker.service
Docker for Windows Service服务正在启动。 Docker for Windows Service服务已成功启动。
$ docker version
$ net start com.docker.service
请求的服务已经启动。
答案 29 :(得分:0)
我已按照以下步骤解决了此问题 答:
启动服务“ Hyper-V虚拟机管理” 启动服务“ Hyper-V主机计算服务” 或
B。如果遇到任何错误,请执行以下步骤:-
1,打开“窗口安全性”
2,打开“应用程序和浏览器控件”
3,单击底部的“漏洞利用保护设置”
4,切换到“程序设置”标签
5,在列表中找到“ C:\ WINDOWS \ System32 \ vmcompute.exe”并将其展开
6,单击“编辑”
7,向下滚动到“代码流防护(CFG)”,然后取消选中“覆盖系统设置”
8,从powershell“ net start vmcompute”启动vmcompute
然后请重新启动系统
答案 30 :(得分:0)
对于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.
泊坞窗服务似乎可以正常工作。重新启动没有帮助。 以管理员身份从安装目录运行二进制文件。
就我而言:
run as administrator -> C:\Program Files\Docker\Docker\Docker for Windows.exe
答案 31 :(得分:0)
对我来说,错误是通过停止在Hyper-V中运行的虚拟Ubuntu实例解决的:
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.
一旦停止了Ubuntu实例,并重新启动了Docker Desktop,我通常的docker命令就可以正常运行了。
PS:我之所以想尝试此操作,是因为错误日志,该错误日志已被Docker Desktop进行了有益地编译,并愿意作为用户反馈发送给Docker Hub ...该日志似乎表明我的计算机缺少RAM ,而Docker因这个非常简单的原因而失败。杀死Ubuntu实例可以解决这个问题。
答案 32 :(得分:0)
以admin + powershell或以前用作admin的方式启动Windows的“ Docker桌面”。为我解决了!
答案 33 :(得分:0)
如果你在Windows中试试这个
docker-machine env --shell cmd default
@FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i
进行测试尝试
docker run hello-world
答案 34 :(得分:0)
我在Windows上遇到了同样的错误。事实证明我错过了容器功能。
Install-WindowsFeature Containers
重启服务器
启动并运行时确保Docker服务正在运行
答案 35 :(得分:0)
我遇到了同样的问题。我通过启用hyper-v来解决这个问题。
答案 36 :(得分:0)
对我来说,答案是关闭VPN服务。
在工作时,连接到VPN,我得到提到的错误。我关闭了VPN,然后docker在Windows 10上按预期工作。下面的命令(完成时)会将您带到交互式python提示符“&gt;&gt;&gt;”并预安装simplejson
和requests
docker run --rm -ti -v `pwd`:/tmp jfloff/alpine-python:2.7-slim -p simplejson -p requests
答案 37 :(得分:0)
我正在使用Windows 7和Docker Toolbox并将其修复为刚打开 Docker快速入门终端。
$ docker version客户端:版本:17.05.0-ce API版本:1.29 Go version:go1.7.5 Git commit:89658be Built:5月5日星期五 2017年5月15日11:11 OS / Arch:windows / amd64
服务器:版本:17.05.0-ce API版本:1.29(最低版本 1.12)Go版本:go1.7.5 Git commit:89658be Built:Thu May 4 21:43:09 OS / Arch:linux / amd64实验:false
答案 38 :(得分:0)
尝试从提升的命令提示符运行以下命令:
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快速启动终端运行命令也没有问题。
答案 39 :(得分:-1)
第一次启动Powershell&#34;作为管理员&#34;这也可以防止你从docker version
得到的错误。
尝试启动docker服务:start-service docker
如果失败,请删除docker.pid文件,您会找到cd $env:programfiles\docker; rm docker.pid
最后,您应该将HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Containers\VSmbDisableOplocks
更改为0
或删除该值。
答案 40 :(得分:-1)
这是最终解决方案..它对我有用... !!
1)在系统托盘中找到鲸鱼,然后右键单击
2)转到设置>重置
3)重置为出厂默认值
答案 41 :(得分:-1)
我正在使用窗口10,并且执行了以下步骤来解决此问题。
以上步骤帮助我解决了该问题。
答案 42 :(得分:-1)
当您收到此错误时,您可以启动Kitematic。它将显示一个用于重置VM的按钮,并将解决问题。