详细报错信息:
Docker Desktop -WSL update failed An error occurred while updating WSL. You can restart Docker Desktop to try again or manually update using wsl --update. If the issue persists please collect diagnostics and submit an issue ...://docs.docker.com/desktop/troubleshoot/overview/#diagnose-from-the-termin...
解决方法一:重新安装Docker Desktop,但是依然报错
解决方法二:
1.安装WSL2
使用命令:
# 查看可安装的版本信息
wsl --list --online
# 安装对应版本 (Ubuntu-20.04 为下图 NAME)
wsl --install -d Ubuntu-20.04
2.wsl更新到wsl2
获取WSL2 Linux内核更新包并运行
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
将 WSL 2 设置为默认版本
wsl --set-default-version 2
查看目前的WSL版本
wsl -l -v
重新执行这条命令:
wsl --install -d Ubuntu-20.04
输入用户名和密码之后是这样:
重新下载
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
然后再重新运行程序,但运行之后依然报错
再次将 WSL 2 设置为默认版本
wsl --set-default-version 2
显示
再次查看版本:
wsl -l -v
执行更新 :
wsl --set-version Ubuntu-20.04 2
3.wsl2迁移
终止正在运行的wsl
wsl --shutdown
检查当前wsl是否在运行
wsl -l -v
将需要迁移的Linux,进行导出
wsl --export Ubuntu-20.04 D:\Ubuntu.tar
导出完成之后,就需要将原有的分发进行卸载
wsl --unregister Ubuntu-20.04
然后将导出的文件放到需要保存的地方,进行导入即可
wsl --import Ubuntu-20.04 D:\Ubuntu_2004 D:\Ubuntu.tar --version 2
# sansan是你之前设置的用户名
ubuntu2004.exe config --default-user sansan
将之前下载的wsl_update_x64.msi放进到Ubuntu_2004文件夹,再执行
ubuntu2004.exe config --default-user sansan
命令,但还是显示未检测到WSL镜像。
解决方法:在Windows中的C:\Users<your_username>目录下创建一个.wslconfig文件,然后在文件中写入如下内容
[experimental]
autoMemoryReclaim=gradual
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
然后用
wsl --shutdown
关闭WSL,之后再重启,提示就消失了。再执行
ubuntu2004.exe config --default-user sansan
这条命令时,就暂时没有问题了。
打开Docker Desktop
至此docker desktop能正常使用,没有报wsl更新错误的问题。
修改Docker Desktop默认保存位置
参考链接:
win11安装Docker Desktop 、更新wsl至wsl2、Docker-Desktop储存路径更改_docker desktop没选择wsl2怎么更改-CSDN博客
解决"wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理" - JustInCase - 博客园 (cnblogs.com)