为了解决下面详细描述的问题,我想知道:如果我在相同的文件夹中重新安装 Docker 桌面,我现有的图像、容器和数据内容会保留还是丢失?
如果是这样,有没有办法重新安装它(以修复损坏)而不丢失它们?
Windows version: 11 Home v 21H2, OS build 22000.856
Docker version: Docker 4.11.1
我已经使用 Docker 进行本地开发大约 6 个月了,它非常棒:docker-compose 为 NGINX、PHP、MySQL 启动容器。
昨天突然出现一个错误,它不再启动,出现错误:
Docker failed to initialize: Docker Desktop is shutting down.
谷歌搜索最常见的解决方案是删除:
....\AppData\Roaming\Docker\settings.json
在删除之前,我确实发现文件已损坏。现在按照谷歌搜索到的指南重新启动系统,应该无法正常启动,但总是出现同样的错误。我也尝试过手动停止和启动服务,但无济于事。
查看事件查看器、Windows 日志 - 应用程序,它显示即使 Docker 服务成功启动,但其事件 ID 为 0,这似乎意味着存在损坏。
我还刚刚发现我的还原点标志没有打开,所以我无法恢复到发生此损坏之前的系统状态。
答案1
搜索“docker-desktop 错误日志位置”向我展示了日志的所在位置。对于我的 Windows 11 设置,它位于
C:\Users\{username}\AppData\Local\Docker\log\host
我发现:
[com.docker.backend.exe][E] writing locks to locked-directories: reading <HOME>\AppData\Roaming\Docker\locked-directories: parsing JSON from <HOME>\AppData\Roaming\Docker\locked-directories: invalid character '\x00' looking for beginning of value
该文件(locked-directories)已损坏,无法用文本编辑器打开。
删除它并重新启动即可解决,无需重新安装。