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

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

相关推荐
mortimer4 小时前
一次搞懂 rsync:从入门到解决真实世界中的权限难题
linux·运维·centos
wb1896 小时前
服务器的Mysql 集群技术
linux·运维·服务器·数据库·笔记·mysql·云计算
天上掉下来个程小白6 小时前
Docker-07.Docker基础-数据卷挂载
运维·docker·微服务·容器
迷失蒲公英7 小时前
Docker容器中文PDF生成解决方案
docker·容器·pdf
whabc1007 小时前
ssh连接VirtualBox中的Ubuntu24.04(win11、putty、NAT 模式)
运维·ssh
9命怪猫7 小时前
K8S服务发现原理及开发框架的配合
云原生·容器·kubernetes·服务发现
热爱生活的五柒7 小时前
服务器突然之间特别卡,什么原因?
运维·服务器
zly35008 小时前
Linux(centos)安全狗
linux·运维·服务器
星辰云-8 小时前
Nginx笔记
运维·笔记·nginx
David爱编程8 小时前
理解Service的kube-proxy 实现原理
云原生·容器·kubernetes