【问题标题】:Docker forever in "Docker is starting.." at Windows taskDocker 永远在“Docker 正在启动..”中的 Windows 任务
【发布时间】:2022-03-12 06:51:39
【问题描述】:

我已经安装了一个 Docker 稳定版本,但它需要很长时间才能启动。 到目前为止,我还没有看到显示 Docker 正在运行的通知。 我只能在任务栏看到 Docker 图标,显示 Docker 正在启动。

我在支持虚拟化的 Windows 10 Pro、Intel Core 2 Duo E8500 上运行。

【问题讨论】:

  • 我每次都必须重新启动系统才能启动 Docker。
  • 讨厌这么说,但重启Windows系统后运行正常
  • 考虑在另一个非常相似的问题中查看这个答案。这将解决问题:stackoverflow.com/questions/71238673/…

标签: docker


【解决方案1】:

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

wsl --unregister docker-desktop
wsl --unregister docker-desktop-data

重要提示: 正如@Nachtalb 所说“我认为应该注意的是 这将删除所有 docker 容器和数据。 (WLS:注销 分发并删除根文件系统。)"

【讨论】:

  • 虽然我仍然需要重新安装,但这些命令对于彻底清除所有旧内容也是必要的。
  • 在这些命令之后,我的 docker 无法启动。然后我按照这些步骤,它工作。 github.com/docker/for-win/issues/3764#issuecomment-484428134
  • 谢谢。这个是为我做的。我停止了卡在启动中的docker,运行了上面的两个命令,然后再次启动它,它启动成功了。
  • 我认为应该注意的是,这会删除所有 docker 容器和数据。 (WLS:注销分发并删除根文件系统。)
  • 重新启动 Windows 后,为我工作。
【解决方案2】:

紧随其后的是docker/for-win issue 487,主要是:issue 482

Diagnose and Feedback 菜单应该允许您访问位于以下位置的日志:

 %LOCALAPPDATA%\Docker\log.txt

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

默认推荐是:

但有时,“重置”窗格中的所有选项都是灰色的。

对于测试,停用 AV(防病毒)是一种选择(同样,只是为了测试)。

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

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

重置 Hyper-V 可能会有所帮助:

转到“打开或关闭 Windows 功能”,禁用所有 Hyper-V 相关功能,重新启动,然后 Docker 会询问它是否可以为您启用和重新启动。
让它这样做,看看它是否已修复。如果不是,我可能会尝试手动重新启用 Hyper-V。

同样:

我在使用最新版本时遇到了问题。我卸载了它,从 hyper-v 中删除了所有 docker 文件夹、服务器和虚拟交换机,然后重新安装,它就可以工作了。

检查您是否没有some IP address already in use
最后,你可以perform some Hyper-V tests

【讨论】:

    【解决方案3】:

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

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

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

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

    【讨论】:

    • 它适用于我,无需重新启动甚至清除我的数据。谢谢! P.s:您可能还需要通过任务管理器强制关闭 docker 应用程序。
    • 我也可以确认这行得通。
    • 这值得更多赞扬——它奏效了!无需重新安装/丢失容器! :D
    【解决方案4】:

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

    向下滚动并取消选中

    适用于 Linux 的 Windows 子系统

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

    重启后再次按照前面的步骤检查

    适用于 Linux 的 Windows 子系统

    然后重新启动。希望现在你的 docker 可以运行了

    【讨论】:

    • 我能够在没有第二次重启的情况下使其工作(即未选中、重启、选中)
    • 谢谢我完全按照你说的做了,一切都很完美
    【解决方案5】:

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

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

    • 禁用-WindowsOptionalFeature -FeatureName microsoft-hyper-v -online
      • (等等,有时直到现在你已经决定了,如果没有,请继续)
      • 重启电脑
    • 启用-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
    【解决方案6】:

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

    • 在 Windows 搜索中键入 optionalfeatures 并点击 Enter
    • 向下滚动至Hyper-V。这个复选框是为我选中的。
    • 取消选中复选框并点击OK
    • 让 Windows 完成禁用该功能。完成后,点击Restart now
    • 重启后,docker会很快自动启动

    【讨论】:

    • 对我来说完美无缺。但是,您必须在 Windows 搜索中键入“Windows 功能”才能在搜索结果中看到正确的控制面板选项。
    • 如果您的 Windows 构建版本 >= 19041,我只会推荐此选项。否则 WSL 2 不可用,建议的解决方案将不起作用。
    【解决方案7】:

    刚刚解决了这个问题。 不确定它是否对您的情况有所帮助,但对我来说,这是未正确设置的 PATH 环境变量。检查诊断日志我得到“powershell not found”和“docker not found”等

    我的解决方案是将所有内容添加到 PATH 环境变量中:

    %SystemRoot%\system32; // Stuff like bash, wsl
    C:\Windows\System32\WindowsPowerShell\v1.0; // powershell itself
    C:\Program Files\Docker\Docker\resources\bin; // docker-compose etc
    // edit 
    C:\Program Files\Docker\Docker\resources // docker itself
    

    但您的设置可能会有所不同

    【讨论】:

      【解决方案8】:

      我遇到了同样的问题,以上没有任何帮助。 我输入了

      bcdedit /set hypervisorlaunchtype auto 
      

      然后我重新启动我的电脑。之后docker正常启动:)终于。

      【讨论】:

      • 你在哪里输入的?请提供具体解决方案
      • windows命令行
      【解决方案9】:

      以管理员模式重新启动 Docker Desktop,它对我有用。

      【讨论】:

        【解决方案10】:

        更新

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


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

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

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

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

        【讨论】:

        • 我按照你说的做了,现在不是花很长时间去做“Docker 正在启动...”我得到我不断得到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. 有什么想法吗?
        • 这个错误很奇怪。我建议您卸载并重新安装适用于 Windows 的 docker。
        • @orrymr,您可以尝试以管理员身份运行 Docker for Windows
        • 我在 18 版也有这个问题
        • 你好@StepanYakovenko 我有一段时间没看到这个问题了。我有版本 18.03.1-ce-win65 (17513) 和 Windows 10 April 2018 更新。我不知道它是什么时候停止的。一个建议:总是在发生这种情况时将报告发送给 docker 团队,我认为这对他们找出问题有很大帮助。
        【解决方案11】:

        如果您的互联网在代理后运行 - 您应该在 docker 配置窗口的“代理”选项卡中输入代理设置 - 这对我有用。

        【讨论】:

          【解决方案12】:

          转到漏洞利用保护>程序设置

          禁用两者的CFG

          1.C:\Windows\System32\vmwp.exe

          2.C:\Windows\System32\vmcompute.exe

          【讨论】:

            【解决方案13】:

            对于我来说,当我得到任务管理器-> 启动-> 禁用 Docker 时它可以工作

            打开 Docker,它就会运行。

            【讨论】:

            • 启用对我有用
            【解决方案14】:

            对我来说,它是手动禁用的 vmms 服务
            检查您通过 powershell 创建虚拟机的能力

            【讨论】:

              【解决方案15】:

              Ctrl + Alt + Del => 任务管理器 => 启动 => 点击程序并点击禁用 => 关闭任务manager => 重启电脑

              如果您的 docker 永远加载引擎,只需转到任务管理器并禁用一些正在运行的应用程序。它对我有用。按照步骤操作

              【讨论】:

                【解决方案16】:

                我得到了它的工作:

                1. 停止/杀死任务管理器中包含“docker”一词的所有内容。
                2. 注销所有 wsl2 发行版
                3. 安装我需要的 WSL2 发行版。
                4. 启动 docker 桌面并等待大约 5 分钟 - 成功!

                Powershell 作为管理员:

                wsl -l
                

                对每个分布重复

                wsl --unregister <name of distribution>
                

                安装你需要的那个

                wsl --install -d <name of distribution>
                

                【讨论】:

                  【解决方案17】:

                  启用 VM 平台并更新 wsl 解决了我的问题:

                  • 搜索开启或关闭Windows功能 >勾选虚拟机平台复选框
                  • 以管理员模式运行命令提示符,并执行wsl --update

                  重启系统后,我就可以运行docker了。

                  【讨论】:

                    【解决方案18】:

                    对我来说,我以某种方式安装了 Avast 防病毒软件,一旦我卸载了 Avast,它就可以工作了。 这里https://github.com/docker/for-win/issues/3764我看到有人对诺顿有同样的问题。

                    【讨论】:

                      猜你喜欢
                      • 2022-07-13
                      • 2016-11-12
                      • 1970-01-01
                      • 2021-05-27
                      • 2021-11-25
                      • 2019-08-17
                      • 2020-04-23
                      • 1970-01-01
                      相关资源
                      最近更新 更多