Docker 初始化失败 Windows

Docker Failed to Initialize on Windows

在这里,我在 docker 映像中拉取 docker-dev 以创建我的开发环境时遇到问题,但是当我尝试拉取 docker-dev 时。我收到类似 docker manifest not found 的错误。 谁能帮我解决这个错误...plz

在此之前 我想知道我现在遇到的 docker 无法初始化错误...

错误就像,

我尝试了很多方法,例如重新安装 docker 桌面或 WSL 更新,但都没有用。

命令中的错误就像... 所以如果有人能帮我解决这个问题....请帮助我

遇到了同样的问题,并通过删除 %appdata%\Docker 解决了这个问题,正如 Github 用户“tocklime”

提到的

(原始来源:https://github.com/docker/for-win/issues/3088

我的解决方案:删除 %appdata%\Docker\settings.json 并让 Docker 创建一个新的。

备份文件以备下次损坏时使用。

我几乎每个月都会遇到这个问题,我希望这个问题一定会得到解决。

根据 tmBlackCape 的回答,我检查了 %appdata%\Docker 目录,发现 settings.json 已损坏(编辑告诉它是一个二进制文件,当然它不应该)。

我删除了该文件,Docker 服务(仍 运行)创建了一个具有默认值的新文件。如果该服务不是 运行,只需重新启动它即可。

您可能需要更改设置(按照建议通过 GUI)以满足您的需求。

我备份了自定义配置 settings.json 这样下次我可以更换损坏的副本而不会丢失自定义配置。

我在 Docker 桌面升级到版本 3.6.0 (67351) 后也发生了这种情况。 (这很令人惊讶,因为它在升级之前有效。)

现在由于的帮助,我进入了上面的设置目录:%appdata%\Docker,查看了日志和deleted/renamed文件settings.json -> Docker 桌面立即启动 ;有一个进程在后台重试。

在那之前,backend.exe.log 都是 "unmarshal" 某事某事:

    settings.json: json: cannot unmarshal bool into Go struct field Content.proxyHttpMode of type string"
common/cmd/com.docker.backend/internal/settingsloader.GetSettings(0x0, 0x0, 0x0)

因此,上面的消息 'tipped me off' 关于启动时的实际错误可能在哪里。嗯...

对我来说,删除文件夹 %appdata%\Docker 没有用。

相反,我不得不以管理员身份 运行 以下 power shell 命令。

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

参考资料。

  1. https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v#enable-hyper-v-using-powershell

我的 windows 运行ning docker 桌面的功能如下。

Docker初始化失败

C:\Users[USER]\AppData\Local\Docker

C:\Users[USER]\AppData\Roaming\Docker

C:\Users[USER]\AppData\Roaming\Docker 桌面

删除上述目录后,我无需执行任何其他操作,Docker桌面开始正常启动。

进入目录C:\Users-------\AppData\Roaming\Docker删除文件 settings.json。 Docker 负责在启动时重写它。

这个操作解决了我的问题!

  1. 转到 C:\Users\asd\AppData\Local 并删除下载的安装目录。
  2. C:\Users\asd\AppData\Roaming 并删除 Docker 和 Docker 桌面目录。

然后开始docker.

在 users[myUser] 或其他地方找不到 AppData 文件夹。重新安装帮我解决

对我来说,这里的解决方案没有帮助,但这里有帮助。

  1. 确保您的主目录中的文件夹 .docker/ 未在 Windows 中标记为隐藏。如果它是隐藏的,Docker 将看不到它。
  2. 确保 docker 有 Active Directory 到 .docker 文件夹。例如,如果 .docker/ 的所有者是 SYSTEM 而不是您的用户,Docker 将无法读取它并崩溃。

这是由于本地数据损坏造成的。您可以在 %appdata%\Docker. 中查看 VM 日志 我能够通过重命名 setting.json 来重置和重新启动,然后通过删除所有以前的日志文件夹和临时文件夹来重新启动 Docker 桌面。如果这没有帮助。 尝试通过任务管理器杀死所有进程运行ning

然后 运行 Power shell 在管理员模式下,如果您使用的是旧版本的 Lsmanager Restart-Service LxssManager,则执行命令。

在我这边,卸载 HyperV 成功了:

Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Hypervisor

我也(按照投票答案中的建议):

  • 已卸载 docker 桌面,
  • 已按照建议删除 %APPDATA% 中所有 docker 相关内容
  • 删除注册表中任何 docker 相关的 keyys(可能不是必需的)
  • 然后重新安装

它解决了问题(但没有删除 hyperV 它不起作用)。