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个回答

1
我在尝试运行Docker时遇到了同样的错误,我的问题是在Windows中从未安装WSL2 Linux内核。 安装后,我的Docker运行良好。 按照以下步骤使Docker在Windows中正常运行。 首先卸载当前的Docker,并确保您的窗口具有以下功能:
  1. 已安装并正常工作的Hyper-V
  2. BIOS中启用了虚拟化
  3. 在Windows启动时启用了超级监视器

此链接指导您完成上述步骤

现在打开此链接下载WSL 2 Linux内核包

安装完WSL 2后,请重新安装Docker,按照说明操作即可。


1

只需在桌面上打开Docker并重新启动 Docker,您就可以轻松解决它。 按照此图像所示的方式打开Docker的故障排除并重新启动Docker。 Docker故障排除


1
虽然这可能回答了问题,但最好能提供一些如何做的解释。 - nik7
我的重新启动按钮是灰色的。无法点击它。 - Čamo

1

0

安装Docker后,以管理员身份连接到PowerShell并运行以下命令。
这将启动Docker服务。
步骤1> cd "C:\Program Files\Docker\Docker"
步骤2> ./DockerCli.exe -SwitchDaemon


这对问题没有用,它只是在Windows和Linux容器之间切换。 - ArdentLearner

0

这个帖子是我找到的第一个,所以想要整理一些我为各种问题找到的解决方案。

我正在使用 Windows 11 和首次安装 Docker。

问题1:Docker 桌面版已经“停止”,每当我尝试在终端中运行包时,都会收到一个长消息,最后一行是:“此错误还可能表明 docker 守护程序未运行。”

解决方案:

按照官方步骤安装 WSL 2,链接:https://learn.microsoft.com/en-us/windows/wsl/install

打开 PowerShell 并运行以下命令:

wsl --update

卸载 Docker。

删除临时数据:

C:\Users<USER>\AppData\Roaming\Docker

C:\Users\ProgramData\Docker

C:\Users\ProgramData\DockerDesktop

重新安装 Docker,并确保在安装过程中选中 wsl 框。

重启电脑。

以管理员身份运行 Docker。

以管理员身份运行 PowerShell。

运行以下命令:

& 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon

如果这个方法不行,您可能需要执行上述命令一两次。

问题2:Docker桌面设置中的复选框“使用基于WSL 2的引擎(Windows Home只能运行WSL 2后端)”被禁用并取消选中状态。

解决方法:

打开:C:\Users<USER>\AppData\Roaming\Docker\settings.json 更改:"wslEngineEnabled": false 为 "wslEngineEnabled": true

重新安装Docker并重启计算机。(不确定是否必要。)

以管理员身份运行Docker。

以管理员身份运行PowerShell。

运行以下命令:

& 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon

如果这个方法不行,您可能需要执行上述命令一两次。


0

我花了一整天来解决这个确切的问题(在 Windows 11 更新后,有几个其他线程建议可能是原因),并尝试了本帖中建议的大多数方法。

最终有效的方法是完全删除 Docker 和 WSL(在此处查看指南),重新启动计算机,然后再次安装 WSL 和 Docker。

希望这能帮助其他人。


0

我尝试了很多方法来解决这个问题,但我发现当我的Docker不工作时,Windows上的Ubuntu应用程序也不应该工作。因此,在挖掘了许多错误后,我发现我的引导配置(Windows)中未启用虚拟化程序启动。您可以使用以下命令检查是否已将其设置为开启:

bcdedit /enum | findstr -i hypervisorlaunchtype

如果它被设置为关闭,将其设置为自动。
bcdedit /set {current} hypervisorlaunchtype Auto

现在,如果Docker问题仍未解决,您可以尝试将容器切换到Ubuntu(如果尚未设置),希望这可以帮助解决问题。


-1

你可以在CentOS 7中使用命令行

systemctl restart docker


此回复不适用于使用的 Windows 10 Pro,因为原帖提到了这一点。 - user8699261

-2

是的,建议的解决方案对我有效。

安装Docker后,以管理员身份连接到PowerShell并运行以下命令。 它将启动Docker服务。

C:\ Program Files \ Docker \ Docker / DockerCli.exe -SwitchDaemon


请考虑给解决了您问题的答案点个赞,而不是重新发布它,以减少不必要的噪音。 - ggorlen

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