如何启动Docker守护进程?

35

在提升的PowerShell提示符中运行docker info会显示以下错误:

error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.27/info: 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. 此错误还可能表示docker守护程序未运行。(已加重)

我们如何从命令行运行Docker守护程序?如果不可能,我们如何在不重新启动Windows的情况下运行它?如果都不行,我们该怎么启动它呢?

环境信息

C:\> docker --version          
Docker version 17.03.1-ce, build c6d412e      

C:\> docker-compose --version  
docker-compose version 1.11.2, build f963d76f                                          

C:\> docker-machine --version  
docker-machine.exe version 0.10.0, build 76ed2a6                                       

我们尝试过什么

运行docker daemon。它会响应如下:

命令 "daemon" 已被弃用,并将在 Docker 1.16 中删除。请直接运行 dockerd。exec: "dockerd": %PATH% 中找不到可执行文件

启用 Hyper-V 并重新启动计算机。


1
https://dev59.com/dVkS5IYBdhLWcg3wCSdx, https://github.com/docker/toolbox/issues/636, https://github.com/moby/moby/issues/30240, https://gavinb.net/2017/03/06/docker-on-windows-mounting-volumes/ - 这个错误有很多原因,具体要看配置和正在运行的程序。 - CodeCaster
这个回答解决了你的问题吗?Docker无法在Windows上启动 - ggorlen
5个回答

26

如果你正在使用Windows版的Docker,那么只需启动安装在C:\Program Files\Docker\Docker\Docker Desktop.exe中的桌面应用程序即可。

你也可以停止Windows版的Docker并运行只有Docker守护进程dockerd.exe。这样只能运行Docker Windows容器。dockerd.exe在程序文件目录中。


2
那个有效。注意:运行该命令后,Docker 大约需要三分钟才能启动。任务栏中的鲸鱼会显示“Docker 正在启动...”。 - Shaun Luttin
1
当我从Docker桌面图标或“C:\ Program Files \ Docker \ Docker \ Docker Desktop.exe”启动Docker时,我会收到错误消息:“Windows找不到'C:\ Program Files \ Docker \ Docker \ Docker Desktop.exe。确保您已正确输入名称并重试”。我被卡住了,有什么我可以做来解决这个问题吗? - Bijay Singh
在PowerShell中执行以下命令可以启动Docker桌面应用程序:"C:\Program Files\Docker\Docker\Docker Desktop.exe"。 - Damien Golding

4

在Windows Server上,Docker守护程序作为Windows服务运行。可能您的计算机上没有运行此Docker服务。请按照以下步骤操作:

  1. 开始->运行-> services.msc

  2. 查找名为“Docker”的服务

  3. 启动服务。


1
我们发现了一个名为“Docker for Windows Service”的服务。该服务目前正在运行。但是,docker info仍然显示相同的错误。 - Shaun Luttin
你是使用PowerShell(使用DockerMsftProvider)还是“Docker for Windows”可安装来设置环境?另外,你是在嵌套虚拟化或物理机上运行服务器? - Pankaj Kapare
我们使用了“Docker for Windows”。我不知道你的第二个问题的答案。 - Shaun Luttin
我一段时间前下载了Docker桌面版。它作为Docker桌面服务可用。启动后,现在可以使用docker命令。 - Jack BeNimble

2
如果你在启用了Hyper-V的Windows 10 Pro上安装了Docker,但仍无法在Windows 10上运行Docker,则应按照以下步骤启动docker守护程序:
1. 在CMD(管理员模式)上使用命令docker-machine restart default,然后您将收到像“open C:\User{User_name}.docker\machine\machines\default\config.json: The system cannot find the file specified.”的消息。转到Windows托盘上的Docker图标(桌面右下角),右键单击Docker图标->设置->重置->重新启动Docker。它需要一些时间,然后您将看到消息“Docker正在运行,并带有绿色指示灯”。
注意- 如果您的系统上已经有正在运行的Docker容器,请勿执行此操作。否则,您可能会丢失现有的容器。enter image description here

0

我在Windows 7中遇到了同样的问题。我发现我的问题是让虚拟机在VirtualBox中工作。

Copy the "Boot2Docker.iso" file from "C:\Program Files\Docker Toolbox" 
into "C:\Users\<user name>\.docker\machine\cache"

然后我可以在Cygwin或Gitbash中运行start.sh。

注意:我必须重新启动任何cmd才能让docker看到虚拟机。


-1

我遇到了同样的问题,你只需要以管理员身份运行以下文件即可

dockerd.exe

你可以在Docker安装目录中找到这个文件。 然后,你可以在另一个CLI中使用docker命令,该CLI也应该处于管理模式。

docker run hello-world

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