Win11 Docker 使用指南(WSL2 后端,保姆级)
Windows 11 上推荐用 WSL2 后端运行 Docker,性能与兼容性最佳,以下是从安装到实战的完整流程。
一、安装前准备(必做)
1. 系统与硬件要求
- 系统:Windows 11 64位(家庭/专业/企业/教育版均可)
- CPU:支持 Intel VT-x 或 AMD-V 硬件虚拟化(必须开启)
- 内存:≥4GB(推荐8GB+)
- 硬盘:≥4GB可用空间
2. 开启硬件虚拟化(BIOS/UEFI)
- 重启电脑,开机按 F2/Del/F10/Esc(主板不同按键不同)进入 BIOS/UEFI
- 找到:
- Intel:Virtualization Technology / Intel VT-x → 设为 Enabled
- AMD:SVM Mode / AMD-V → 设为 Enabled
- 保存(F10)并重启
3. 启用 WSL2 与虚拟机平台(管理员终端)
右键开始菜单 → 打开 终端(管理员),执行:
powershell
# 启用WSL与虚拟机平台
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# 一键安装WSL2并默认Ubuntu
wsl --install
执行后必须重启电脑。
4. 验证 WSL2 状态
重启后打开终端,执行:
powershell
wsl --status
# 显示默认分发版为Ubuntu、默认版本2,即成功
二、安装 Docker Desktop
1. 下载安装包
官网下载:Docker Desktop for Windows
2. 安装(关键选项)
- 双击
Docker Desktop Installer.exe - 安装向导中务必勾选:Use WSL 2 instead of Hyper-V
- 可选:添加桌面快捷方式
- 点击 OK 开始安装,完成后点击 Close
3. 启动与验证
-
开始菜单打开 Docker Desktop,接受协议后等待启动(任务栏鲸鱼图标不再转圈)
-
打开终端,验证安装:
powershell# 查看版本 docker --version # 输出示例:Docker version 26.1.3, build 3592053 # 运行测试容器(拉取hello-world镜像并运行) docker run hello-world出现 Hello from Docker! 即安装成功。
三、基础配置(镜像加速+资源)
1. 配置国内镜像加速(解决拉取慢)
-
Docker Desktop → 右上角 Settings → Docker Engine
-
替换配置(JSON格式),添加镜像地址:
json{ "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://mirror.aliyuncs.com", "https://registry.docker-cn.com" ], "features": { "buildkit": true } } -
点击 Apply & restart 生效。
2. 调整 WSL2 资源限制(内存/CPU)
Docker Desktop → Settings → Resources → Advanced:
- 按需分配内存、CPU核心数
- 点击 Apply & restart
四、Docker 核心命令(常用速查)
1. 镜像操作(拉取/查看/删除)
powershell
# 拉取镜像(如nginx、ubuntu、redis)
docker pull nginx # 拉取最新版
docker pull nginx:1.25 # 拉取指定版本
# 查看本地镜像
docker images
# 删除镜像
docker rmi nginx:1.25 # 删除指定版本
docker image prune # 删除所有未使用镜像
2. 容器操作(创建/运行/管理)
powershell
# 运行容器(核心命令)
# -d:后台运行;--name:指定名称;-p:端口映射(主机:容器)
docker run -d --name my-nginx -p 8080:80 nginx
# 交互式运行容器(退出自动删除)
docker run -it --rm ubuntu bash
# 查看容器
docker ps # 运行中的容器
docker ps -a # 所有容器(含已停止)
# 启停/重启容器
docker start my-nginx
docker stop my-nginx
docker restart my-nginx
# 进入运行中的容器(推荐)
docker exec -it my-nginx bash
# 查看容器日志
docker logs my-nginx # 查看日志
docker logs -f my-nginx # 实时跟踪
# 删除容器(先停止再删)
docker rm my-nginx
docker container prune # 删除所有停止容器
3. 数据卷与文件拷贝
powershell
# 主机与容器间拷贝文件
docker cp my-nginx:/etc/nginx/nginx.conf ./ # 容器→主机
docker cp ./index.html my-nginx:/usr/share/nginx/html/ # 主机→容器
# 数据卷挂载(持久化数据)
docker run -d --name my-nginx -p 8080:80 -v D:/nginx/html:/usr/share/nginx/html nginx
五、实战:运行 Nginx 服务
-
拉取 Nginx 镜像:
powershelldocker pull nginx -
运行容器并映射端口:
powershelldocker run -d --name my-nginx -p 8080:80 nginx -
浏览器访问:
http://localhost:8080,看到 Nginx 欢迎页即成功
六、常见问题
- Docker 启动失败:检查 WSL2 是否正常、虚拟化是否开启、重启电脑
- 拉取镜像超时:配置国内镜像加速
- 端口占用 :修改
-p参数的主机端口(如8081:80) - WSL2 磁盘占用大:Docker Desktop → Settings → Resources → WSL Integration → 清理未使用分发版
七、进阶:Dockerfile 构建自定义镜像
-
新建文件夹,创建
Dockerfile(示例:Node.js 应用):dockerfileFROM node:18-alpine WORKDIR /app COPY package.json . RUN npm install COPY . . EXPOSE 3000 CMD ["node", "app.js"] -
构建镜像:
powershelldocker build -t my-node-app:1.0 . -
运行自定义容器:
powershelldocker run -d --name my-node -p 4000:3000 my-node-app:1.0
Docker 汉化开源地址 https://github.com/asxez/DockerDesktop-CN
关闭Docker Desktop
在Docker安装目录找到app.asar文件并将其备份,防止出现意外。
- Windows下默认为C:\Program Files\Docker\Docker\frontend\resources
- Macos下默认为/Applications/Docker.app/Contents/MacOS/Docker -Desktop.app/Contents/Resources
- Ubuntu/Debian下默认为/opt/docker-desktop/resources
将从本仓库下载的asar文件改名为app.asar后替换原文件
