Win11 Docker 使用指南(WSL2 后端,保姆级)附汉化教程

Win11 Docker 使用指南(WSL2 后端,保姆级)

Windows 11 上推荐用 WSL2 后端运行 Docker,性能与兼容性最佳,以下是从安装到实战的完整流程。


一、安装前准备(必做)

1. 系统与硬件要求

  • 系统:Windows 11 64位(家庭/专业/企业/教育版均可)
  • CPU:支持 Intel VT-xAMD-V 硬件虚拟化(必须开启)
  • 内存:≥4GB(推荐8GB+)
  • 硬盘:≥4GB可用空间

2. 开启硬件虚拟化(BIOS/UEFI)

  1. 重启电脑,开机按 F2/Del/F10/Esc(主板不同按键不同)进入 BIOS/UEFI
  2. 找到:
    • Intel:Virtualization Technology / Intel VT-x → 设为 Enabled
    • AMD:SVM Mode / AMD-V → 设为 Enabled
  3. 保存(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. 安装(关键选项)

  1. 双击 Docker Desktop Installer.exe
  2. 安装向导中务必勾选:Use WSL 2 instead of Hyper-V
  3. 可选:添加桌面快捷方式
  4. 点击 OK 开始安装,完成后点击 Close

3. 启动与验证

  1. 开始菜单打开 Docker Desktop,接受协议后等待启动(任务栏鲸鱼图标不再转圈)

  2. 打开终端,验证安装:

    powershell 复制代码
    # 查看版本
    docker --version
    # 输出示例:Docker version 26.1.3, build 3592053
    
    # 运行测试容器(拉取hello-world镜像并运行)
    docker run hello-world

    出现 Hello from Docker! 即安装成功。


三、基础配置(镜像加速+资源)

1. 配置国内镜像加速(解决拉取慢)

  1. Docker Desktop → 右上角 SettingsDocker Engine

  2. 替换配置(JSON格式),添加镜像地址:

    json 复制代码
    {
      "registry-mirrors": [
        "https://docker.mirrors.ustc.edu.cn",
        "https://mirror.aliyuncs.com",
        "https://registry.docker-cn.com"
      ],
      "features": {
        "buildkit": true
      }
    }
  3. 点击 Apply & restart 生效。

2. 调整 WSL2 资源限制(内存/CPU)

Docker Desktop → SettingsResourcesAdvanced

  • 按需分配内存、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 服务

  1. 拉取 Nginx 镜像:

    powershell 复制代码
    docker pull nginx
  2. 运行容器并映射端口:

    powershell 复制代码
    docker run -d --name my-nginx -p 8080:80 nginx
  3. 浏览器访问:http://localhost:8080,看到 Nginx 欢迎页即成功


六、常见问题

  1. Docker 启动失败:检查 WSL2 是否正常、虚拟化是否开启、重启电脑
  2. 拉取镜像超时:配置国内镜像加速
  3. 端口占用 :修改 -p 参数的主机端口(如8081:80)
  4. WSL2 磁盘占用大:Docker Desktop → Settings → Resources → WSL Integration → 清理未使用分发版

七、进阶:Dockerfile 构建自定义镜像

  1. 新建文件夹,创建 Dockerfile(示例:Node.js 应用):

    dockerfile 复制代码
    FROM node:18-alpine
    WORKDIR /app
    COPY package.json .
    RUN npm install
    COPY . .
    EXPOSE 3000
    CMD ["node", "app.js"]
  2. 构建镜像:

    powershell 复制代码
    docker build -t my-node-app:1.0 .
  3. 运行自定义容器:

    powershell 复制代码
    docker 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后替换原文件
相关推荐
javaaad2 小时前
ubuntu24 Docker 容器中运行 GUI 程序(Qt / X11 / GPU)实践指南
docker·容器
老友@2 小时前
云计算的统一心智模型
开发语言·ci/cd·docker·云计算·k8s·perl
认真的柯南2 小时前
关于在 Kubernetes 环境中停止使用 CPU 限制的分析与建议
容器·kubernetes·cpu
石工记3 小时前
OpenClaw AI 助手 Docker Compose 一键部署文档(可下载)
人工智能·docker·容器
maotou5263 小时前
Centos7安装docker+redis+pgsql
redis·docker·容器
大傻^3 小时前
【OpenClaw -01】OpenClaw 安装部署指南:npm、Docker 与源码三种模式详解
前端·docker·npm
Hns.3 小时前
自建docker镜像仓库
docker·容器·eureka
隔壁寝室老吴3 小时前
docker安装部署openclaw教程
运维·docker·容器
Detachym3 小时前
InsightFlow:基于 Spring Boot+Redis+Docker 的实时监控告警系统全流程开发与部署
spring boot·redis·docker