Docker永远在"Docker正在开始......"的Windows任务中

dav*_*lee 14 docker

我已经安装了Docker稳定版本,它需要永远启动.到目前为止,我还没有看到显示Docker正在运行的通知.我只能在任务栏上看到Docker图标,显示Docker正在启动.

我在Windows 10 Pro,Intel core 2 duo E8500上运行,支持虚拟化.

Sto*_*ely 143

我偶然发现了一个解决方案,结果证明它非常简单!当 Docker 安装在 Windows 设备上时,它不会检查您的操作系统是否是 Windows,而不是 Linux。因此,它尝试开始寻找不存在的 Linux 容器。只需将其设置为在 Windows 容器下运行:

  1. 在 Windows 右下角的“通知/系统托盘”部分中,右键单击泊坞窗“鲸鱼”图标

  2. 在弹出的上下文菜单中,选择“切换到 Windows 容器...”

  3. 这应该会立即解冻“Dockers for Windows”!如果没有,请关闭“Dockers for Windows”并再次打开。

Docker 上下文菜单的图像,其中圈出了标题为“切换到 Windows 容器...”的选项。

  • 为我工作!切换到 Windows 容器 - 解冻启动... - 切换回 Linux 容器 - 一切都已修复!我曾经为此完全卸载并重新安装 docker,在此过程中丢失了所有容器...... (2认同)
  • 任务 nanager -> 服务 ->WslService 重新启动对我有用。 (2认同)

小智 125

就我个人而言,对我自己来说最无损的方法是使用:

  1. wsl --terminate docker-desktop
  2. wsl --terminate docker-desktop-data
  3. 关闭 Docker Desktop GUI(取消/关闭任何错误消息)
  4. 再次启动 Docker Desktop。

然后 Docker 指示它在启动过程中启动 wsl 服务,我的问题就解决了。

其他方法(例如注册/取消注册)往往更具破坏性,并且我会丢失配置/数据/卷。

  • 它对我有用,无需重新启动,甚至无需清除我的数据。谢谢!Ps:您可能还需要通过任务管理器强制关闭 docker 应用程序。 (11认同)
  • 这应该被标记为正确的解决方案,在 Windows 10 + WSL2 上发挥作用 (6认同)
  • 没有为我工作。即使在杀死 Docker Desktop.exe 进程后,它仍然卡住...... (3认同)

小智 68

感谢https://github.com/docker/for-win/issues/7050,您只需在 powerShell 中运行以下两行命令:首先退出 docker hub 桌面,然后在 PowerShell 中运行这些命令:

wsl --unregister docker-desktop
wsl --unregister docker-desktop-data
Run Code Online (Sandbox Code Playgroud)

  • 在这些命令之后,我的 docker 无法启动。然后我按照这些步骤操作并且成功了。https://github.com/docker/for-win/issues/3764#issuecomment-484428134 (5认同)
  • 谢谢。这个为我做了。我停止了卡在启动时的docker,运行了上面的两个命令,然后再次启动它,它启动成功了。 (3认同)

and*_*too 18

我还在使用 Docker Engine v20.10.22 的 Win10 Enterprise 版本 22H2 上遇到了“Docker is running...”问题

我尝试了所有评价最高的评论,包括卸载并重新安装 Docker、运行 和wsl --unregister docker-desktopwsl --unregister docker-desktop-data删除DockerDocker Desktop文件夹AppData\Roaming\等。但是,没有一个解决方案有效。

相反,最终起作用的是wsl --update在 PowerShell 中运行。注意:当我尝试此操作时,Docker Desktop 并未运行。

  • 原来我正在运行“wsl1”。`wsl --update` 将我更新为 `wsl2`,然后 Docker 就会启动。谢谢! (2认同)
  • 我也是。上述其他解决方案对我来说都不起作用。仅在 PowerShell 中运行“wsl --update”后,Docker 才开始运行。 (2认同)

ont*_*cks 13

这对我有用。就我而言,docker 使用 WSL 2 而不是 Hyper-V。

  • 输入optionalfeaturesWindows 搜索并点击Enter
  • 向下滚动到Hyper-V。为我选中了此复选框。
  • 取消选中该复选框并点击OK
  • 让 Windows 完成禁用该功能。完成后,点击Restart now
  • 重启后docker会很快自动启动

Windows功能

现在重启

泊坞窗设置


Mwt*_*eex 13

现有的答案都不适合我。

  1. 任务管理器 > 进程选项卡查找任何 Docker 相关进程并使用“结束任务”按钮将其关闭

  2. 任务管理器 > 详细信息选项卡并终止以 wsl... 和 docker 开头的每个进程(特别是wslservice.exe

现在打开 WSL(Ubuntu 图标),然后打开 Docker Desktop。系统会提示您启动 docker 引擎。单击“开始”,等待大约十秒钟,一切都会恢复正常。


Alv*_*lvi 9

我猜您正在使用 wsl2 功能。在这种情况下,打开 PowerShell 或命令提示符并键入:optionalfeatures.exe

向下滚动并取消选中

适用于 Linux 的 Windows 子系统

应用更改并重新启动计算机。

重新启动后,再次按照前面的步骤进行检查

适用于 Linux 的 Windows 子系统

并重新启动。希望现在你的 docker 会运行

  • 我能够在没有第二次重新启动的情况下使其工作(即未选中、重新启动、选中) (2认同)

Isa*_*ine 8

对于任何使用 Windows 10 家庭版的人来说,对我有用的是运行

wsl --update
Run Code Online (Sandbox Code Playgroud)

运行后wsl --status发现我的计算机中缺少 WSL 2 内核文件,并指示我启用“更新 Windows 时接收其他 Microsoft 产品的更新”选项

设置 > 更新和安全 > 高级选项


nav*_*ule 7

TLDR;\n我制作了一个视频来演示解决此问题:https ://youtu.be/NHfqxx12kRs

\n

TL;

\n

我有以下构建信息:

\n
Edition Windows 10 Pro\nVersion 22H2\nInstalled on    \xe2\x80\x8e1/\xe2\x80\x8e9/\xe2\x80\x8e2021\nOS build    19045.2075\nExperience  Windows Feature Experience Pack 120.2212.3920.0\n
Run Code Online (Sandbox Code Playgroud)\n

这些步骤对我有用。

\n

第 1 步:退出 Docker Desktop

\n

如果您的 Docker 桌面已打开,则退出并退出 docker 桌面

\n

在此输入图像描述

\n

第 2 步:打开/关闭 Windows 功能

\n

确保如下所示

\n

在此输入图像描述

\n

在此输入图像描述

\n

步骤3:使用WSL安装Ubuntu终端环境

\n

启动 Microsoft Store 并搜索 wsl 或 Ubuntu。安装最新版本的 ubuntu,如屏幕截图所示。

\n

在此输入图像描述

\n

步骤 4:在 WSL 2 发行版中启用 Docker 支持

\n

现在,在 WSL 2 发行版中启用 Docker 支持,如此处所述。只需在 Windows 终端中运行以下命令:

\n
wsl.exe -l -v\nwsl.exe --set-default-version 2\nwsl --set-default Ubuntu-22.04\n
Run Code Online (Sandbox Code Playgroud)\n

对我来说,控制台看起来像这样。

\n
C:\\Users\\tutlinks>wsl.exe -l -v\n  NAME                      STATE           VERSION\n* Ubuntu-22.04              Running         2\n  docker-desktop            Stopped         2\n  docker-desktop-data       Stopped         2\n\nC:\\Users\\tutlinks>wsl.exe --set-default-version 2\nFor information on key differences with WSL 2 please visit https://aka.ms/wsl2\nThe operation completed successfully.\n\nC:\\Users\\tutlinks>wsl --set-default Ubuntu-22.04\n\nC:\\Users\\tutlinks>wsl.exe -l -v\n  NAME                      STATE           VERSION\n* Ubuntu-22.04              Running         2\n  docker-desktop            Running         2\n  docker-desktop-data       Running         2\n
Run Code Online (Sandbox Code Playgroud)\n

第 5 步:启动 Docker 桌面

\n

启动 Docker Desktop 并等待引擎启动。

\n

在此输入图像描述

\n

在此输入图像描述

\n


小智 6

2018 年 10 月 17 日在 powershell 中为我工作

看起来 Hyper-V 没有正确安装 尝试删除它们,然后手动安装以查看是否有帮助。确保您以管理员身份运行 powershell

  • 禁用-WindowsOptionalFeature -FeatureName microsoft-hyper-v -online
    • (等等,有时直到现在你已经决定,如果没有,继续)
    • 重启电脑
  • Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
    • 重启电脑
  • 启用-WindowsOptionalFeature -Online -FeatureName Containers -All

或者

  • 在 powershell 中运行 MOFCOMP %SYSTEMROOT%\System32\WindowsVirtualization.V2.mof
  • 重新启动 Hyper-V 管理服务

  • 这解决了我的问题:`Enable-WindowsOptionalFeature -Online -FeatureName Containers -All` (4认同)

Car*_*rez 5

更新

看起来像 Docker for Windows 版本:17.09.0-ce-win33 (13620)他们解决了这个问题


这是 Windows 版 docker 存在的一个恼人的问题。最新版本已将其最小化了很多,但它仍然会发生。

  1. 检查 docker for Windows 是否会在 Windows 启动时启动(这是默认行为),如果不检查它。
  2. 关闭机器。没有重新启动。关闭。

每次发现此问题时只需关闭机器即可。下次Windows启动时docker会启动得非常快。

我知道它看起来很深奥,但它确实有效。


Von*_*onC 5

其次是docker / for-win问题487,主要是问题482

Diagnose and Feedback菜单应允许您访问以下日志:

 %LOCALAPPDATA%\Docker\log.txt
Run Code Online (Sandbox Code Playgroud)

它将生成一个包含上述日志和其他信息的zip文件。

默认建议是:

但有时,“重置”窗格中的所有选项均显示为灰色。

为了进行测试,可以选择停用AV(AntiVirus)(再次进行测试)。

还要在设备管理器中检查网络适配器的状态。

如果您拥有VPN之类的第三方网络产品(例如https://www.zerotier.com/),请在重新启动docker之前尝试将其卸载。

重置Hyper-V可以帮助:

转到“打开或关闭Windows功能”,禁用所有与Hyper-V相关的功能,然后重新启动,然后Docker应该询问它是否可以为您启用并重新启动。
让它那样做,看看它是否固定。如果没有,我可能会尝试手动重新启用Hyper-V。

类似地:

我的最新版本有问题。我卸载了它,从hyper-v中删除了所有docker文件夹和服务器以及虚拟交换机,然后重新安装并开始工作。

检查您是否尚未使用某些IP地址
最后,您可以执行一些Hyper-V测试


erh*_*355 5

注意:这将删除您所有现有的容器

我删除了settings.json,它对我有用。(Windows 10 Home) 删除 %appdata%\Docker\settings.json 并让 Docker 创建一个新的,不要忘记重新启动你的电脑

参考 https://forums.docker.com/t/solved-docker-failed-to-start-docker-desktop-for-windows/106976/7