)
前言很多新手在 Windows 装 Docker 会遇到域名解析失败、镜像拉取超时、WSL 不兼容、端口访问不通等各种坑。本文从开启 WSL、安装 Ubuntu、下载 Docker、修复网络、测试 Nginx 服务完整走一遍跟着步骤复制粘贴命令即可一次成功全程无复杂操作。[TOC](Windows WSL2 超详细 Docker Desktop 安装配置教程)一、前置环境开启 Windows WSL2系统自带虚拟机1. 开启 WSL 功能右键开始菜单选择「Windows 终端 (管理员)」/「PowerShell 管理员」执行开启虚拟机平台与 WSL 命令powershellwsl --install执行完成后重启电脑系统会自动安装 Ubuntu 发行版。2. 初始化 Ubuntu 系统重启后打开开始菜单搜索Ubuntu启动设置用户名只能小写英文开头示例alexandr 自定义密码出现用户名主机名:$即代表 Ubuntu 初始化完成二、下载安装 Docker Desktop1. 官方下载地址Docker 官网下载https://www.docker.com/products/docker-desktop/注意安装前确保 Windows 版本 Win10 21H2 以上 / Win11低版本会不兼容 WSL2 后端。2. 安装设置双击安装包勾选「Use WSL2 instead of Hyper-V」一路下一步完成安装安装结束后自动启动 Docker Desktop启动弹窗选择「Skip sign in」跳过登录账号无需注册 Docker ID 本地使用完全够用3. 开启 WSL 集成关键步骤打开 Docker 右上角齿轮Settings设置左侧切换Resources→ 右侧切换WSL integration标签页打开 Ubuntu 对应开关点击右下角Apply保存重启 Docker三、解决国内镜像域名报错修复 DNS 解析失败问题现象直接配置镜像源会出现lookup xxx: no such host域名找不到拉取镜像失败。步骤 1修改 WSL 禁止自动重置 DNS打开 Ubuntu 小黑窗口输入命令编辑配置文件bash运行sudo nano /etc/wsl.conf粘贴下方内容ini[network] generateResolvConf false快捷键操作CtrlO保存 → 回车确认 →CtrlX退出编辑器步骤 2配置公共 DNS 解析bash运行sudo nano /etc/resolv.conf清空全部原有内容写入两行公共 DNSplaintextnameserver 114.114.114.114 nameserver 8.8.8.8同样CtrlO保存、CtrlX退出步骤 3重启 WSL 生效管理员 PowerShell 执行关闭 WSL 虚拟机powershellwsl --shutdown等待 3 秒后重新打开 Ubuntu 窗口DNS 配置永久生效。步骤 4Docker 配置国内镜像加速Docker 设置页面左侧选择Docker Engine完整替换 JSON 配置加入百度镜像源稳定无解析故障json{ builder: { gc: { defaultKeepStorage: 20GB } }, experimental: false, registry-mirrors: [ https://mirror.baidubce.com ] }点击Apply Restart重启 Docker 服务四、全套环境验证两步测试确认安装成功测试 1Hello-World 基础镜像管理员 PowerShell 输入测试命令验证镜像拉取、容器运行powershelldocker run hello-world正常输出Hello from Docker!代表 Docker 基础功能完全正常测试 2Nginx 网页服务验证端口映射、浏览器访问后台启动 Nginx 容器本地 8080 端口映射容器 80 端口powershelldocker run -d -p 8080:80 nginx等待镜像自动下载完成输入docker ps查看运行中容器浏览器地址栏输入http://localhost:8080出现 Nginx 欢迎页面代表端口转发、网络全部通畅五、新手必备 Docker 常用命令合集1. 查看资源powershell# 查看正在运行的容器 docker ps # 查看所有容器包含已停止 docker ps -a # 查看本地下载的所有镜像 docker images2. 容器启停管理powershell# 停止容器容器ID替换自己的 docker stop 容器ID # 重启已停止的容器 docker start 容器名/容器ID # 一键清理所有停止运行的容器 docker container prune3. 镜像操作powershell# 删除无用镜像 docker rmi 镜像ID六、常见踩坑总结拉镜像提示no such hostWSL DNS 未按本文配置重新修改 resolv.conf 并重启 WSLDocker 无法启动确认 Windows 已开启 WSL2Ubuntu 正常运行浏览器访问localhost:8080打不开确认 Nginx 容器状态为Up端口映射参数-p 8080:80书写无误下载镜像速度慢检查 Docker Engine 镜像源配置是否保存并重启 Docker结语按照本文步骤完整操作后Windows 下 WSL2 版 Docker 环境彻底搭建完毕后续可以一键部署 MySQL、Redis、后端项目、中间件等各类服务全程无网络、系统兼容类报错新手可放心学习使用。