Kei*_*ith 7 ubuntu docker windows-subsystem-for-linux docker-desktop
提前致谢,我已经进行了详尽的研究,但 5 天后仍无法解决此问题。
我正在尝试将 Ubuntu 安装为 WSL-2 内核之上的 Windows 发行版。以下是我采取的步骤:
当我以管理员身份运行 Ubuntu 时,总是出现以下错误:
“ubuntu wslregisterdistribution 失败,错误:0x80041002”
我在网上搜索了修复方法,但这个错误几乎与 Windows 更新无关。解决此问题的唯一操作是将 wsl --set-default-version 设置为“1”,因为默认值为 2。当我降级到 wsl-1 时,Ubuntu 启动正常。
但是,根据我的研究和经验,我无法使用 wsl-1 运行 Docker Desktop,因为它需要版本 2。
当我使用 wsl-1 运行 Ubuntu,然后输入命令“wsl -l -v”时,它确实显示了以下内容:
NAME STATE VERSION
* Ubuntu Running 1
Run Code Online (Sandbox Code Playgroud)
我认为 Docker 部分应该与上述 Ubuntu/wsl 问题分开,但是,由于我的目标是简单地在 DD 中运行 Docker 引擎,因此我还将包含以下有关 Docker Desktop 的信息:
我正在尝试在 Windows 11 Enterprise 上运行 Docker Desktop。Docker 引擎总是无法启动,我相信问题出在 WSL/Ubuntu 上,如上所述,因为我无法使用 wsl-2 运行 Ubuntu。有时,Docker Desktop 根本无法启动,而是显示以下错误消息,提示我重置为出厂默认设置;但我知道我的问题是 WSL:
System.InvalidOperationException:
Failed to deploy distro docker-desktop to C:\Users\v-kescul\AppData\Local\Docker\wsl\distro: exit code: -1
stdout: Error: 0x80041002
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激,因为我们确实需要在新的 Windows 11 计算机上运行 Docker,以便我们可以将 Spring Cloud 环境 Docker 化到基于 Linux 的 AWS EC2 实例中。谢谢!
小智 5
我想我可能能为你找到解决方案。我研究了错误0x80041002,发现它不是来自WSL2,而是来自hyper-v。该错误意味着由于 WSL2 使用 hyper-v 来运行,因此 hyper-v 尝试创建虚拟以太网适配器,但某些东西阻止了它执行此操作。
所有的虚拟机软件都会使用你的物理控制器作为创建虚拟网络适配器的链接,所以如果你安装了很多虚拟机软件,并且你在控制面板中检查你的网络连接,你会发现你的电脑有很多虚拟网卡。以太网适配器。如果您遇到问题 0x80041002,则意味着您的虚拟适配器之一正在阻止 hyper-v 为其创建新网络。
就我而言,我已在第二个硬盘中安装了 vmware,并且已从电脑中删除了硬盘。因此,vmware 虚拟适配器尝试与源通信,但无法进行通信,而且由于它链接到我的物理控制器,因此它阻止了 hyper-v 正常工作。
因此,请检查是否有任何虚拟机软件或 VPN 导致此问题,如果您有 Oracle vm、vmware 或 VPN,请尝试将其卸载并重试。也许尝试重新安装物理网络驱动程序。
| 归档时间: |
|
| 查看次数: |
12036 次 |
| 最近记录: |