Docker守护程序未运行。

31
我是这个领域的新手。我在我的Windows PC上安装了新版本的Docker。我正在使用Windows 10 Pro。我尝试了最基本的docker命令,但它不起作用。我也以管理员身份运行了docker。总是收到下面的错误。
  

docker:连接期间出错:Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.39/containers/create: 打开 //./pipe/docker_engine: Zugriff verweigert 在Windows的默认守护进程配置中,必须提升docker客户端的运行权限连接。此错误还可能表明docker守护进程未运行。

输入图片描述

如果Docker作为服务正在运行,请重新安装它。 - error404
@leopal 从 Windows 服务中,显示 Docker 正在运行。 - TAMIM HAIDER
重启 Docker 并关闭再打开终端。 - nativelectronic
你解决了这个问题吗?@TAMIMHAIDER - Nimasha Madhushani
我遇到了同样的问题,但是在 Azure DevOps 管道中,我该如何解决? - Vishal Chepuri
显示剩余3条评论
19个回答

24

尝试以下两个方法的组合可能会有所帮助:

- Exit docker from tray (lower right hand of the windows desktop)
- Relaunch it as administrator (Start Menu --> Type "Docker" --> Right Click the icon --> "Run as Administrator"
请检查一下您是否仍然出现错误。

右键单击托盘图标不会显示“退出”菜单。需要进入任务管理器并终止Docker Desktop以从托盘中退出。 - Sagar S.
首先,我检查了Services.msc中的Docker服务是否正在运行。然后我不得不从任务管理器中终止Docker桌面服务进程,然后以管理员身份重新启动Docker桌面。启动需要几分钟时间,但现在它正在工作。我的Docker版本是20.10.16,在Windows 10 pro x64上运行。似乎它在与操作系统一起启动时没有获得管理员权限。 - Broken_Window

13

似乎与以下问题有关:

我遇到了同样的问题-通过以管理员权限运行PowerShell,我成功解决了该问题。我验证了通过提升的cmd提示符运行命令的结果也是相同的。这还启用了docker run hello-world命令,该命令返回错误消息“访问被拒绝”。在Windows上的默认守护程序配置中,必须以提升的方式运行docker客户端才能连接。此错误还可能表明docker守护程序未运行。

这里


1
使用重置功能 > 重置为出厂默认设置,现在它可以正常工作了。 - TAMIM HAIDER
什么都不起作用,所以我卸载并重新安装了。这时我收到了一个错误提示,说“服务器”服务需要启用。使用管理员权限打开服务并启动它。现在Docker正常工作。 - Apoorv Patne

9

我做了以下几步:

  1. 在Windows中,您可以到任务栏中的“显示隐藏的图标”,将光标悬停在Docker图标上并右键单击,然后会出现一个下拉菜单,从中选择重新启动

  2. 按Windows键+R。

    %appdata%\Docker

    删除文件夹中的所有文件。

  3. 在任务栏中结束Docker进程。

  4. 尝试再次打开Docker GUI。

  5. 如果以上方法都不起作用,请查看此链接:Docker无法在Windows上启动

查看链接:https://bobcares.com/blog/docker-error-response-from-daemon-i-o-timeout/

  1. 如果什么都不起作用,请尝试卸载并重新安装Docker。

6

我的解决方法:首先点击故障排除,然后进行恢复出厂设置。 enter image description here

警告:现有的容器将被删除。


4

我之所以遇到这个错误是因为我的 Docker Desktop 没有运行。启动 Docker Desktop 后问题得到解决。


2

如果您没有安装任何WSL:

  • 确保启用了Hyper-V功能,您可以通过搜索“打开或关闭Windows功能”来完成此操作。
  • 使用Docker桌面版,禁用“使用基于WSL 2的引擎”选项(这是推荐的选项,因此仅在您没有安装任何WSL时使用)。Docker桌面版设置

这对我帮助很大!我忘记了我已经设置了Docker来使用Linux子系统,这搞乱了Windows本身的Docker安装。禁用基于WSL2的引擎选项对我很有帮助。 - Andrea

1

我的解决方法:

打开 Docker Desktop > Troubleshoot(即错误图标) > Reset to factory defaults(恢复出厂设置)。所有容器都需要重新从注册表中拉取,但很快就可以重新启动。

希望这对别人有用!


1
步骤1 - 启用Windows子系统Linux 以管理员身份打开PowerShell(开始菜单> PowerShell>右键单击>以管理员身份运行),并输入此命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
步骤2 - 启用虚拟机功能 以管理员身份打开PowerShell并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
步骤3 - 下载Linux内核更新包 {{link1:x64机器的WSL2 Linux内核更新包}} 运行在上一步中下载的更新包
步骤4 打开PowerShell并运行此命令,将WSL 2设置为安装新Linux发行版时的默认版本:
wsl --set-default-version 2
步骤5 重新启动计算机
注意 - 请从引导菜单启用虚拟化技术,这很重要 检查和验证:转到任务管理器,单击性能,查看虚拟化是否启用。

输入图像描述


打开 Powershell 并运行以下命令:
``` cd "C:\Program Files\Docker\Docker" ./DockerCli.exe -SwitchDaemon ```

1

有两件事:

  1. 以管理员身份运行docker
  2. 以管理员身份运行Powershell

然后看一下效果。


1

如果在首次使用时Docker Deamon仍未运行,则此video可能会有所帮助。我通过下载WSL 2文件并在我的Windows机器上手动安装来解决了这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接