You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Desktop报错WSL发行版意外终止,容器运行异常求助

针对Docker Desktop + WSL相关问题的解决方案

1. 确认WSL版本与内核状态

  • 打开PowerShell,执行wsl --list --verbose,确保默认WSL版本为2
  • 执行wsl --update更新内核,若自动更新失败,手动安装微软官方提供的WSL内核更新包
  • 执行wsl --shutdown关闭所有WSL实例,再重启Docker Desktop

2. 重置Docker与WSL的集成配置

  • 打开Docker Desktop设置面板,找到Resources > WSL Integration
  • 取消所有已勾选的WSL发行版,点击Apply & Restart
  • 重启完成后重新勾选需要集成的发行版,再次点击Apply & Restart

3. 检查WSL发行版磁盘空间

  • 进入对应WSL发行版(如Ubuntu),执行df -h查看根目录磁盘使用率
  • 若空间不足,可通过以下步骤收缩虚拟磁盘:
    1. 执行wsl --shutdown停止所有WSL进程
    2. 找到WSL虚拟磁盘文件(默认路径:C:\Users\<你的用户名>\AppData\Local\Packages\<发行版包名>\LocalState\ext4.vhdx)
    3. 打开命令提示符,执行:
      diskpart
      select vdisk file="C:\完整的虚拟磁盘路径\ext4.vhdx"
      attach vdisk readonly
      compact vdisk
      detach vdisk
      exit
      

4. 修复损坏的WSL发行版

  • 执行wsl --unregister <发行版名称>(例如wsl --unregister Ubuntu)卸载损坏的发行版
  • 通过wsl --install -d <发行版名称>重新安装对应发行版
  • 重新在Docker Desktop中配置该发行版的WSL集成

5. 修正容器运行命令

  • 容器秒停通常是因为没有前台进程维持运行,比如运行Node镜像时,使用交互式命令保持容器活跃:
    docker run -it node:latest bash
    
    或是挂载本地代码并启动服务:
    docker run -v $(pwd):/app -w /app -p 3000:3000 node:latest npm start
    
  • 对于Nginx这类镜像,确保使用默认前台启动命令:
    docker run -p 8080:80 nginx:latest
    

6. 排查Docker日志定位问题

  • 打开Docker Desktop,进入Troubleshoot > Show Logs
  • 查找与WSL终止相关的错误条目(如权限冲突、文件系统异常),根据日志信息针对性修复

内容的提问来源于stack exchange,提问作者Luca Frisoni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 04:56:04