windows11运行Docker Desktop,报错Docker Desktop -WSL update failed

windows11运行Docker Desktop,报错Docker Desktop -WSL update failed
sansan程序媛windows11运行Docker Desktop,报错Docker Desktop -WSL update failed
详细报错信息:
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
使用命令:
1 | # 查看可安装的版本信息wsl --list --online |
1 | # 安装对应版本 (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 设置为默认版本
1 | wsl --set-default-version 2 |
查看目前的WSL版本
1 | wsl -l -v |
重新执行这条命令:
1 | wsl --install -d Ubuntu-20.04 |
输入用户名和密码之后是这样:
重新下载
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
然后再重新运行程序,但运行之后依然报错
再次将 WSL 2 设置为默认版本
1 | wsl --set-default-version 2 |
显示
再次查看版本:
1 | wsl -l -v |
执行更新 :
1 | wsl --set-version Ubuntu-20.04 2 |
3.wsl2迁移
终止正在运行的wsl
1 | wsl --shutdown |
检查当前wsl是否在运行
1 | wsl -l -v |
将需要迁移的Linux,进行导出
1 | wsl --export Ubuntu-20.04 D:\Ubuntu.tar |
导出完成之后,就需要将原有的分发进行卸载
1 | wsl --unregister Ubuntu-20.04 |
然后将导出的文件放到需要保存的地方,进行导入即可
1 | wsl --import Ubuntu-20.04 D:\Ubuntu_2004 D:\Ubuntu.tar --version 2 |
1 | # sansan是你之前设置的用户名ubuntu2004.exe config --default-user sansan |
将之前下载的wsl_update_x64.msi放进到Ubuntu_2004文件夹,再执行
1 | ubuntu2004.exe config --default-user sansan |
命令,但还是显示未检测到WSL镜像。
解决方法:在Windows中的C:\Users<your_username>目录下创建一个.wslconfig文件,然后在文件中写入如下内容
1 | [experimental]autoMemoryReclaim=gradual networkingMode=mirroreddnsTunneling=truefirewall=trueautoProxy=true |
然后用
1 | wsl --shutdown |
关闭WSL,之后再重启,提示就消失了。再执行
1 | 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)](https://www.cnblogs.com/hg479/p/17869109.html “解决"wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理” - JustInCase - 博客园 (cnblogs.com)")