这个错误与守护程序有关:
在 Windows 上默认的守护程序配置中,必须以提升权限运行 Docker 客户端才能连接。
我们可以将 Docker 守护程序切换为以提升权限用户运行,以在 Windows 专业版中运行 Docker 守护程序:
使用 Windows Powershell 以管理员身份运行以下命令:
运行 PowerShell 命令: -
& 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon
您可以在以管理员身份运行的 CMD 中运行以下命令:
运行 CMD 命令: -
"C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon
在我强制退出Docker Desktop更新时(由于更新卡住了,所以我不得不这样做),它无法启动。直到我遇到了这个PowerShell命令,才解决了互联网上的所有问题:
wsl -l -v
* Ubuntu-18.04 Stopped 2
docker-desktop Uninstalling 2
docker-desktop-data Stopped 2
即使整个系统重新启动后,它仍然不停地显示“正在卸载”。
我所做的是:
wsl -t docker-desktop
wsl --unregister docker-desktop
。 - SimBioT删除 %appdata%\Docker\settings.json 文件,让 Docker 创建一个新的文件。
您需要检查WSL:
在命令提示符下执行"wsl -l -v"
。
如果结果如下所示:
然后在命令行上执行"wsl --shutdown"
。
再次执行"wsl -l -v"
,您会看到:
然后启动Docker Desktop。
这样就解决了我的问题。
wsl --shutdown
,wsl仍然在运行,并且我仍然遇到无法启动docker的相同错误。 - Makarand我想分享一下我的经验,如何解决“docker无法启动”或类似问题。尽管所有与Hyper-v、wsl等相关的检查都通过了,但我发现我的Win10 Home版存在一些混乱。因此,我尝试安装旧版本之一(4.4.4),而不是最新版本。结果它安装了wsl2并且没有出现任何问题! 希望这能帮助那些已经尝试过所有解决方案(例如删除%appdata%\docker文件夹)的人们 :)
我遇到了完全相同的问题,从Windows更新后出现“引用的对象类型不支持尝试的操作”错误的帖子中提供了解决方案,这解决了我的问题。在找到这个解决方案之前,我已经尝试了所有可能的方法。为了让它更简单,请按照以下步骤进行 -
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog\0408F7A3] "AppFullPath"="C:\Windows\System32\wsl.exe" "PermittedLspCategories"=dword:80000000
这些步骤基本上是为了对独立安装或通过Docker安装的WSL分发的注册表进行一些更改。
-> Quit your docker desktop completely.
-> Restart your system if possible ( optional ).
-> Run docker desktop app with admin rights.
请确保您的操作系统类型需要WSL或Hyper-V才能运行docker,根据此官方链接https://docs.docker.com/desktop/install/windows-install/
对于我的情况,我正在使用Windows 11 Home操作系统,它需要WSL(Windows子系统Linux)来运行docker。因此,我在我的系统上安装了WSL。
希望这可以解决您的问题✌️
使用PowerShell给了我正确的方向。所有的重新启动和删除再安装都没有起作用。
wsl -l -v
显示了三个进程的列表,但是 wsl -t docker-desktop
只回应 "没有提供的名称与分布相符" 。wsl --shutdown
也无法工作。
解决方案就在下一步 wsl --unregister docker-desktop
。这之后一切都进行得很顺利。