Yid*_*dne 68 docker windows-10 docker-for-windows docker-desktop windows-11
我已经安装了 Docker Desktop 版本 4.4.4,但它没有运行。它只显示“Docker Desktop Starting ...”,但从未开始运行。
我尝试了很多方法都没有解决:
Roe*_*lDS 105
主要问题是 WSL2 在安装 WSL2 时不会自动安装内核,但 Docker Desktop 期望它已经安装。因此,正如其他答案所说,完全关闭并停止 Docker,然后以管理员身份运行此 cmd:
wsl --update
Run Code Online (Sandbox Code Playgroud)
现在打开 Docker Desktop & 它应该可以正常启动。
编辑:这个答案现在应该是不必要的,因为 Docker Desktop v4.22 在第一次运行时会显示这一点,如果它必须安装 WSL2 作为其安装的一部分。
我注意到在我选择退出并运行更新并重新启动 Docker 后,它仍然再次挂起。然后我必须再次退出 Docker,再次打开应用程序,并等待大约 1 或 2 分钟以使其完成初始启动。在较新的 PC 上可能会更快,因为我现在使用的是 Win10 22H2,只有 4GB RAM。几周后我将在较新的 PC 上再次测试 Win11 22H2。
Met*_*iel 24
我发现导致解决方案的另一个症状也与WSL有关。
一方面,Docker服务不会开始抛出此错误:
连接期间出错:此错误可能表明 docker 守护进程未运行。:获取“http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/version”:打开 //./pipe/docker_engine:系统找不到指定的文件。
另一方面,WSL没有响应。尝试直接在 CMD 上运行 WSL Distro 或 WSL 命令根本不会返回任何输出。它只会挂在那里。
所以该解决方案对于 WSL 和 Docker 是通用的。我在有关 WSL 问题的问题中发现,LxssManager Windows 服务已过时(它可能在services.msc下显示为“正在停止”,并且所有按钮均呈灰色,或者我什至看到它明显在运行,但随着Docker 和 WSL 存在上述问题,所以仍然有问题。)
首先,我们必须获取 LxssManager PID 才能杀死它。使用提升的 shell,我们可以这样得到它:
sc queryex LxssManager
Run Code Online (Sandbox Code Playgroud)
有了 PID,我们就可以终止该进程,但要注意我无法使用kill
或taskkill
命令终止它。我收到以下错误:
ERROR: The process with PID XXXXX could not be terminated.
Reason: Access is denied.
Run Code Online (Sandbox Code Playgroud)
要有效终止该进程,请执行以下操作:
wmic process where ProcessID=XXXXX delete
Run Code Online (Sandbox Code Playgroud)
当然,将 XXXXX 替换为 PID。完成后,启动 LxssManager 服务:
net start LxssManager
Run Code Online (Sandbox Code Playgroud)
警告: 我注意到在某些情况下,由于未知的(对我来说)技术原因,这还不够,即使 LxssManager 服务显示为Running。只需重复以上步骤即可!有时执行一次就有效,有时由于某种原因执行两次。
长话短说
小智 6
对我来说,这是 WSL 的问题。当我尝试时:
wsl --install -d Ubuntu
Run Code Online (Sandbox Code Playgroud)
在命令窗口中,几分钟后我收到错误0x80370114
修复方法是:
然后重新安装/重新启动 Docker Desktop,就可以了!
希望这对其他人有帮助
我面临着与 Docker 版本 4.* 相同的代码。对我来说这是 Visual Studio 代码,
停止 WSL 表单任务管理器
停止了 Docker,它在任务管理中显示“Docker 桌面正在启动”
从任务管理器中停止 Visual Studio Code
再次启动Docker
这些步骤使我的 Docker 在 30 秒内进入运行状态
希望这对某人有帮助!
通过 @Alvi 在 Windows 任务的“Docker is running..”中永远回答 Docker解决了这个问题
我猜你正在使用 wsl2 功能。在这种情况下,请打开 PowerShell 或命令提示符并键入:Optionalfeatures.exe
向下滚动并取消选中
Linux 的 Windows 子系统
应用更改并重新启动计算机。
重启后再次按照前面的步骤进行检查
Linux 的 Windows 子系统
并再次重新启动。希望现在你的 docker 可以运行了
归档时间: |
|
查看次数: |
98263 次 |
最近记录: |