Windows安装Docker Desktop(WSL2模式)和Docker Pull网络问题解决

问题描述:

装完Docker Desktop以后,Docker Engine stopped状态。看日志(l路径:%LOCALAPPDATA%\Docker\)发现是WSL报错。

解决办法:

(1)注销所有 WSL 发行版

powershell

复制代码
wsl -l -v # 查看目前wsl有哪些实例,然后用--unregister注销
wsl --unregister Ubuntu  # 替换为你的发行版名称(如 Ubuntu-22.04)
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data
(2)重置 WSL 默认版本

powershell

复制代码
wsl --set-default-version 1  # 临时降级,确保清理彻底
(3)可选:手动删除残留文件

删除 WSL 相关文件夹:

  • %USERPROFILE%\AppData\Local\Packages\<DistroPackage>(如 CanonicalGroupLimited.Ubuntu*

  • C:\Users\<你的用户名>\AppData\Local\Docker\wsl\(Docker 相关)


2. 重新安装 WSL

(1)启用 WSL 功能

以管理员身份运行 PowerShell:

powershell

复制代码
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

重启电脑使更改生效。

(2)安装 WSL2 内核更新

下载并安装官方 WSL2 内核更新包:

👉 Microsoft WSL2 内核下载页面

(3)设置 WSL2 为默认版本

powershell

复制代码
wsl --set-default-version 2

问题描述:

docker pull的时候报各种网络错误。

解决办法:

原因是墙导致的。

试了切换国内的registry,改daemon.json文件,但根本没用。

最后通过挂代理的方式解决。如下图:

相关推荐
_运维那些事儿20 分钟前
VM环境的CI/CD
linux·运维·网络·阿里云·ci/cd·docker·云计算
Trouvaille ~1 小时前
【Linux】UDP Socket编程实战(一):Echo Server从零到一
linux·运维·服务器·网络·c++·websocket·udp
嵌入小生0072 小时前
Shell | 命令、编程及Linux操作系统的基本概念
linux·运维·服务器
-Try hard-3 小时前
Linuv软件编程 | Shell命令
linux·运维·服务器
释怀不想释怀3 小时前
Linux快捷键,软件安装启动
linux·运维·服务器
zhengfei6113 小时前
自动化快速评估工具
运维·自动化
lpruoyu3 小时前
【Docker进阶-05】Docker网络
网络·docker·容器
Hello World . .3 小时前
Linux:软件编程
linux·运维·服务器·vim
人间打气筒(Ada)3 小时前
k8s:CNI网络插件flannel与calico
linux·云原生·容器·kubernetes·云计算·k8s
老师用之于民4 小时前
【DAY21】Linux软件编程基础&Shell 命令、脚本及系统管理实操
linux·运维·chrome·经验分享·笔记·ubuntu