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

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

相关推荐
IT成长日记1 小时前
【Nginx开荒攻略】Nginx虚拟主机配置:从域名、端口到IP的完整指南
linux·运维·服务器·nginx·虚拟主机
taxunjishu1 小时前
DeviceNet 转 Modbus TCP 协议转换在 S7-1200 PLC化工反应釜中的应用
运维·人工智能·物联网·自动化·区块链
迎風吹頭髮2 小时前
Linux内核架构浅谈8-Linux内核与UNIX的传承:设计思想与特性差异
linux·运维·架构
黑马金牌编程3 小时前
Linux 服务器常见的性能调优
linux·运维·服务器·性能优化
tianyuanwo3 小时前
Linux进程管理中的T状态问题分析与解决体系
linux·运维·进程管理·t状态
liuyao_xianhui4 小时前
Linux_基本指令1
linux·运维·服务器
hello_2506 小时前
动手模拟docker网络-bridge模式
网络·docker·桥接模式
爱吃喵的鲤鱼6 小时前
仿mudou——Connection模块(连接管理)
linux·运维·服务器·开发语言·网络·c++
让子弹飞026 小时前
永久解决ubuntu网络连接问题
linux·运维·ubuntu
-L76 小时前
【Kubernetes】常见面试题汇总(十九)
云原生·容器·kubernetes