当我试图构建docker应用程序时,我得到下面的错误。我运行的命令是docker build -t node_curd_exe .
error during connect: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.40/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&session=h3q9gxeprezyco28agiqe9jp2&shmsize=0&t=node_curd_exe&target=&ulimits=null&version=1: 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.
还有什么我能做的吗
7条答案
按热度按时间iyfamqjs1#
我自己也遇到过这个问题。我的问题是我配置了Docker Desktop在启动时不运行。只要Docker Desktop没有运行,你就不会有Docker守护进程运行,因此出现错误。
在尝试任何更奇特的解决方案之前,快速检查任务栏中是否有白色。
xu3bshqb2#
试试这个:
“Hardware assisted virtualization and data execution protection must be enabled in the BIOS”通常,此问题是由于禁用了Hyper-V或由于虚拟机管理程序代理未运行所致。以管理员身份打开Windows shell ,然后使用以下命令启用Hyper-V:
dism /在线/启用-功能:Microsoft-Hyper-V /全部
重新启动机器,查看Docker for Windows是否启动。如果上述操作不起作用,请以管理员身份打开Windows shell并启用hypervisor:
bcdedit /set hypervisorlaunchtype auto
如果Docker for Windows仍然无法正常工作,请尝试以下其他解决方案,这些解决方案基于从此Docker for Windows问题线程中提取的说明。
重新启动机器,查看Docker for Windows是否启动。复制以下路径:Control Panel\Programs\Programs and Features到File Explorer地址栏。
单击“控制面板”左侧的“打开或关闭Windows功能”。清除Windows功能列表中的“Hyper-V”复选框。
重新启动计算机并启动Docker for Windows(或在必要时重新安装)。如果上述操作不起作用,则基于虚拟化的安全性(VBS)可能会受到干扰,需要禁用。请尝试以下操作以禁用VBS:打开本地组策略编辑器(gpedit.msc)
转到“计算机配置\管理模板\系统\设备防护禁用VBS”。
5us2dqdw3#
我遇到了类似的问题:Docker Desktop配置为运行Linux容器,但我的Visual Studio项目针对Windows容器。
因此,在启动Docker后,我右键单击任务栏托盘中的鲸鱼(红色),并选择“切换到Windows容器”菜单项。
出现了一条错误消息,讨论“拒绝对不受Bitlocker保护的固定驱动器进行写访问”,通过启动regedit并为以下密钥设置0来修复:Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Policies\Microsoft\FVE\FDVDenyWriteAccess
然后重复托盘的动作终于奏效了,鲸鱼变成了白色。
wz3gfoph4#
以管理员身份打开PowerShell并运行:
5sxhfpxr5#
在你的
CMD
上试试:此issue仍然打开
cx6n0qe36#
在我的情况下,在Windows 11上解决的问题是关闭Linux的Hypervisor和Windows子系统,重新启动并再次打开。
sbtkgmzw7#
你必须在cmd中启动Docker服务,执行以下操作:net stop com.docker.service:net start com.docker.service