Windows WSL2 超详细 Docker Desktop 安装配置教程(小白零报错完整版)

前言

很多新手在 Windows 装 Docker 会遇到域名解析失败、镜像拉取超时、WSL 不兼容、端口访问不通等各种坑。本文从开启 WSL、安装 Ubuntu、下载 Docker、修复网络、测试 Nginx 服务完整走一遍,跟着步骤复制粘贴命令即可一次成功,全程无复杂操作。

@[TOC](Windows WSL2 超详细 Docker Desktop 安装配置教程)

一、前置环境:开启 Windows WSL2(系统自带虚拟机)

1. 开启 WSL 功能

  1. 右键开始菜单,选择「Windows 终端 (管理员)」/「PowerShell 管理员」
  2. 执行开启虚拟机平台与 WSL 命令:

powershell

wsl --install
  1. 执行完成后重启电脑,系统会自动安装 Ubuntu 发行版。

2. 初始化 Ubuntu 系统

  1. 重启后打开开始菜单搜索Ubuntu启动
  2. 设置用户名(只能小写英文开头,示例:alexandr)+ 自定义密码
  3. 出现用户名@主机名:$即代表 Ubuntu 初始化完成

二、下载安装 Docker Desktop

1. 官方下载地址

Docker 官网下载:https://www.docker.com/products/docker-desktop/

注意:安装前确保 Windows 版本 Win10 21H2 以上 / Win11,低版本会不兼容 WSL2 后端。

2. 安装设置

  1. 双击安装包,勾选「Use WSL2 instead of Hyper-V」
  2. 一路下一步完成安装,安装结束后自动启动 Docker Desktop
  3. 启动弹窗选择「Skip sign in」跳过登录账号,无需注册 Docker ID 本地使用完全够用

3. 开启 WSL 集成(关键步骤)

  1. 打开 Docker 右上角齿轮Settings设置
  2. 左侧切换Resources→ 右侧切换WSL integration标签页
  3. 打开 Ubuntu 对应开关,点击右下角Apply保存重启 Docker

三、解决国内镜像域名报错(修复 DNS 解析失败)

问题现象

直接配置镜像源会出现lookup xxx: no such host域名找不到,拉取镜像失败。

步骤 1:修改 WSL 禁止自动重置 DNS

打开 Ubuntu 小黑窗口,输入命令编辑配置文件:

bash

运行

sudo nano /etc/wsl.conf

粘贴下方内容:

ini

[network] generateResolvConf = false

快捷键操作:Ctrl+O保存 → 回车确认 →Ctrl+X退出编辑器

步骤 2:配置公共 DNS 解析

bash

运行

sudo nano /etc/resolv.conf

清空全部原有内容,写入两行公共 DNS:

plaintext

nameserver 114.114.114.114 nameserver 8.8.8.8

同样Ctrl+O保存、Ctrl+X退出

步骤 3:重启 WSL 生效

管理员 PowerShell 执行关闭 WSL 虚拟机:

powershell

wsl --shutdown

等待 3 秒后重新打开 Ubuntu 窗口,DNS 配置永久生效。

步骤 4:Docker 配置国内镜像加速

  1. Docker 设置页面左侧选择Docker Engine
  2. 完整替换 JSON 配置(加入百度镜像源,稳定无解析故障)

json

{ "builder": { "gc": { "defaultKeepStorage": "20GB" } }, "experimental": false, "registry-mirrors": [ "https://mirror.baidubce.com" ] }
  1. 点击Apply & Restart重启 Docker 服务

四、全套环境验证(两步测试确认安装成功)

测试 1:Hello-World 基础镜像

管理员 PowerShell 输入测试命令,验证镜像拉取、容器运行:

powershell

docker run hello-world

正常输出Hello from Docker!代表 Docker 基础功能完全正常

测试 2:Nginx 网页服务(验证端口映射、浏览器访问)

  1. 后台启动 Nginx 容器,本地 8080 端口映射容器 80 端口

powershell

docker run -d -p 8080:80 nginx
  1. 等待镜像自动下载完成,输入docker ps查看运行中容器

  2. 浏览器地址栏输入http://localhost:8080,出现 Nginx 欢迎页面代表端口转发、网络全部通畅

五、新手必备 Docker 常用命令合集

1. 查看资源

powershell

# 查看正在运行的容器 docker ps # 查看所有容器(包含已停止) docker ps -a # 查看本地下载的所有镜像 docker images

2. 容器启停管理

powershell

# 停止容器(容器ID替换自己的) docker stop 容器ID # 重启已停止的容器 docker start 容器名/容器ID # 一键清理所有停止运行的容器 docker container prune

3. 镜像操作

powershell

# 删除无用镜像 docker rmi 镜像ID

六、常见踩坑总结

  1. 拉镜像提示no such host:WSL DNS 未按本文配置,重新修改 resolv.conf 并重启 WSL
  2. Docker 无法启动:确认 Windows 已开启 WSL2,Ubuntu 正常运行
  3. 浏览器访问localhost:8080打不开:确认 Nginx 容器状态为Up,端口映射参数-p 8080:80书写无误
  4. 下载镜像速度慢:检查 Docker Engine 镜像源配置是否保存并重启 Docker

结语

按照本文步骤完整操作后,Windows 下 WSL2 版 Docker 环境彻底搭建完毕,后续可以一键部署 MySQL、Redis、后端项目、中间件等各类服务,全程无网络、系统兼容类报错,新手可放心学习使用。