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

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

相关推荐
Hope Fancy7 分钟前
macOS 连接 Docker 运行 postgres,使用navicat添加并关联数据库
macos·docker·postgresql
徐传良7 分钟前
03.搭建K8S集群
云原生·容器·kubernetes
好多知识都想学1 小时前
Linux 文件处理器 sed 和 awk 详细讲解
linux·运维·ubuntu
Ares-Wang1 小时前
kubernetes》》k8s》》kubectl proxy 命令后面加一个&
云原生·容器·kubernetes
Tom Boom1 小时前
Git常用命令完全指南:从入门到精通
大数据·git·elasticsearch·docker·自动化测试框架
容器魔方1 小时前
议程一览 | KubeCon China 2025 华为云精彩前瞻
云原生·容器·云计算
FBI HackerHarry浩2 小时前
云计算 Linux Rocky day05【rpm、yum、history、date、du、zip、ln】
linux·运维·云计算·腾讯云
不吃饭的猪2 小时前
记一次spark在docker本地启动报错
大数据·docker·spark
丁劲犇2 小时前
开始在本地部署自己的 Gitea 服务器
运维·服务器·gitea
bcxwz6693 小时前
linux 故障处置通用流程-36计-14-27
linux·运维·服务器