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文件,但根本没用。

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

相关推荐
YZ1225521 小时前
【Docker专题】使用Docker部署Vue-Flask项目前后端分离版【前端Docker部署】
前端·vue.js·docker
MrSYJ1 小时前
Docker端口映射咋做的,模拟下。
docker·云原生·kubernetes
迪康Defender1 小时前
终端安全事后追溯能力解析:本地审计模块设计思路与落地实践
运维·开发语言·人工智能·安全·php·安全威胁分析·运维开发
张小凡vip1 小时前
Kubernetes--k8s---了解和使用configmap挂载配置文件
云原生·容器·kubernetes
geats人山人海1 小时前
linux 2 基本操作与vim
linux·运维·vim
xixiaoyunya2 小时前
集中保护多台电脑:搭建内网备份服务器的完整实操方案
运维·服务器·电脑
JEECG低代码平台2 小时前
不买服务器也能异地组网:开源 P2WLAN 把两地电脑“插“进同一台路由器
运维·服务器·开源·开源软件
wdfk_prog2 小时前
LWIP教程 00:从网线上的电信号到 lwIP——PHY、MAC、DMA 与 `netif` 的完整边界
运维·网络·笔记·学习·ip
cehuishi95272 小时前
测绘外业调查如何正确的开展
运维·服务器·网络
zmsup2 小时前
从运维需求到产品能力:OpsArk Agent 的运维智能平台架构设计思路
运维·系统架构·agent·智能体·运维智能平台