在 Windows 上使用 Docker,核心思路是通过 Docker Desktop 配合 WSL 2(Windows Subsystem for Linux 2)后端,在 Windows 系统中运行 Linux 容器。本教程将从零开始,带你完成安装、配置、命令执行到快速拉取项目的完整流程。

一、系统要求与准备工作

在开始安装之前,请确保你的系统满足以下要求:

项目最低要求推荐配置
操作系统Windows 10 22H2 及以上 / Windows 11最新版 Windows 11
系统版本专业版/企业版/教育版(家庭版需安装 WSL 2)专业版及以上
内存4GB16GB 以上
存储20GB 可用空间50GB SSD
CPU支持虚拟化技术(VT-x/AMD-V)多核处理器
WSL 版本WSL 2WSL 2

开启虚拟化:需要在 BIOS/UEFI 中启用硬件虚拟化(不同主板操作不同,可参考主板说明书)。

二、安装 Docker Desktop

2.1 启用 Windows 必要功能

管理员身份打开 PowerShell 或 Windows Terminal,执行以下命令启用 WSL 和虚拟机平台:

# 启用 WSL
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# 启用虚拟机平台
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

执行完后重启电脑

2.2 安装 WSL 2 并设置默认版本

重启后,以管理员身份打开 PowerShell,执行:

# 安装 WSL(会自动安装默认的 Ubuntu 发行版)
wsl --install

# 设置 WSL 2 为默认版本
wsl --set-default-version 2

如果之前已安装 WSL,可通过以下命令检查当前发行版的 WSL 版本:

wsl -l -v

若显示为 WSL 1,需切换为 WSL 2:

wsl --set-version Ubuntu 2
2.3 下载并安装 Docker Desktop
  1. 访问 Docker 官网 下载 Docker Desktop for Windows
  2. 双击 Docker Desktop Installer.exe 开始安装
  3. 安装过程中务必勾选
    • Use WSL 2 instead of Hyper-V(使用 WSL 2 引擎)
    • Add Docker CLI to PATH(将 Docker CLI 添加到系统路径)
  4. 等待安装完成,建议重启电脑后再启动 Docker Desktop
2.4 通过命令行静默安装(可选)

如需指定安装目录,可在 PowerShell(管理员)中执行:

& ".\Docker Desktop Installer.exe" install --quiet --accept-license --installation-dir="D:\Docker"

三、首次启动与配置

3.1 启动 Docker Desktop
  1. 从 Windows 开始菜单或桌面快捷方式启动 Docker Desktop
  2. 首次启动会显示订阅协议,点击 Accept 继续
  3. 等待右下角状态变为 “Docker Desktop is running”,即表示服务正常
3.2 配置 WSL 2 集成

为了让 Docker 与 WSL 2 深度集成,需要进行以下配置:

  1. 点击 Docker Desktop 右上角的 ⚙️ 设置(Settings)
  2. 进入 General(常规) → 确保 “Use WSL 2 based engine” 已勾选
  3. 进入 Resources(资源)WSL Integration(WSL 集成)
  4. 勾选 “Enable integration with my default WSL distro”
  5. 在下方列表中,勾选你需要集成的 Linux 发行版(如 Ubuntu-22.04)
  6. 点击 Apply & Restart 保存并重启

💡 提示:完成 WSL 2 集成后,你可以直接在 WSL 终端中使用 Docker 命令,也可以在 Windows 的 PowerShell/CMD 中使用。

3.3 配置镜像加速器(国内用户强烈推荐)

由于网络原因,国内用户拉取 Docker Hub 镜像可能很慢,建议配置镜像加速器:

  1. 打开 Docker Desktop → 右上角 ⚙️ 设置(Settings)
  2. 进入 Docker Engine
  3. 在 JSON 配置的顶层大括号内添加以下内容:
{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker-0.unsee.tech",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}
  1. 点击 Apply & Restart 等待 Docker 重启

💡 提示:阿里云用户可登录容器镜像服务获取专属加速器地址,格式为 https://{your_id}.mirror.aliyuncs.com

四、常用 Docker 指令在哪里执行?

4.1 可执行 Docker 命令的终端环境

安装并配置好 Docker Desktop 后,你可以在以下任意终端中执行 Docker 命令:

终端类型说明推荐程度
PowerShellWindows 自带,功能强大⭐⭐⭐⭐⭐
Windows Terminal微软官方终端,可同时管理多个终端⭐⭐⭐⭐⭐
CMD(命令提示符)传统命令行,功能基础⭐⭐⭐
WSL 终端(如 Ubuntu)进入 WSL 发行版后执行⭐⭐⭐⭐
Git BashGit 自带,兼容 Linux 命令风格⭐⭐⭐

推荐使用 Windows Terminal 或 PowerShell,它们对 Docker 命令的支持最完善。

4.2 验证 Docker 是否可用

在任意终端中执行以下命令,确认 Docker 正常运行:

# 检查 Docker 版本
docker --version

# 检查 Docker Compose 版本(新版 Docker Desktop 已内置)
docker compose version

# 查看 Docker 系统信息
docker info
4.3 运行 Hello World 测试
docker run hello-world

如果看到 Hello from Docker! 的提示信息,说明 Docker 安装和配置完全成功。

五、常用 Docker 指令速查

以下是在 Windows 终端中常用的 Docker 命令:

镜像管理
# 拉取镜像
docker pull nginx:latest

# 查看本地镜像列表
docker images

# 删除镜像
docker rmi <镜像ID或名称>
容器管理
# 运行容器(前台运行)
docker run nginx:latest

# 后台运行容器(-d)
docker run -d --name my-nginx nginx:latest

# 端口映射(-p 主机端口:容器端口)
docker run -d -p 8080:80 --name web nginx:latest

# 查看运行中的容器
docker ps

# 查看所有容器(含已停止)
docker ps -a

# 停止容器
docker stop <容器名或ID>

# 启动已停止的容器
docker start <容器名或ID>

# 删除容器
docker rm <容器名或ID>

# 进入容器内部(交互式终端)
docker exec -it <容器名或ID> bash

# 查看容器日志
docker logs -f <容器名或ID>
进入 Ubuntu 容器测试
# 启动 Ubuntu 容器并进入 bash 终端
docker run -it ubuntu bash

首次运行会自动下载 Ubuntu 镜像,进入后提示符变为 root@容器ID:/#,输入 exit 即可退出。

六、如何快速拉取项目?

6.1 方式一:从 GitHub 拉取项目源码 + Docker 运行

这是最常用的方式,适用于大多数开源项目:

步骤 1:克隆项目代码

在 PowerShell 或 Windows Terminal 中执行:

# 进入你的工作目录
cd D:\Projects

# 克隆项目(以任意 GitHub 项目为例)
git clone https://github.com/username/project-name.git

# 进入项目目录
cd project-name

💡 加速技巧:如果 GitHub 克隆速度慢,可使用镜像加速:

git clone https://gitclone.com/github.com/username/project-name.git

步骤 2:使用 Docker Compose 一键启动

大多数项目根目录都包含 docker-compose.yml 文件,执行以下命令即可一键启动所有服务:

# 后台启动所有服务
docker compose up -d

# 查看服务状态
docker compose ps

# 查看日志
docker compose logs -f

步骤 3:停止项目

# 停止并删除所有容器
docker compose down
6.2 方式二:直接拉取预构建镜像

如果项目作者已将镜像推送到 Docker Hub,可直接拉取运行,无需下载源码:

# 拉取镜像
docker pull username/project-name:latest

# 直接运行
docker run -d -p 8080:80 username/project-name:latest
6.3 方式三:使用 VS Code 远程容器开发(推荐)

对于开发者,推荐使用 VS Code + Docker 的远程容器开发模式:

  1. 在 VS Code 中安装 WSL 扩展和 Dev Containers 扩展
  2. 在终端中输入 wsl 进入 WSL 环境
  3. 在 WSL 中导航到项目目录,执行 code .
  4. VS Code 会自动连接到 WSL 环境,你可以在容器中完成代码编写、调试和运行

这种方式将代码存储在 WSL 的 Linux 文件系统中,性能最佳。

6.4 网络加速工具推荐

如果遇到 git clonedocker pull 速度慢的问题,可使用以下工具:

  • CNFast:一键式解决 git pullgit clonedocker pull 的国内网络问题,可将 Docker 拉取速度从 20-100 KB/s 提升到 10-50 MB/s
  • 配置 Docker 镜像加速器(见上文 3.3 节)
  • 配置 Git 代理或使用 GitHub 镜像站

七、常见问题与解决方案

Q1:Docker Desktop 无法启动或提示 WSL 2 安装不完整?

执行以下命令更新 WSL 内核:

wsl --update

或手动下载 wsl_update_x64.msi 安装。

Q2:提示“Docker 命令未找到”?
  • 检查 Docker Desktop 是否正在运行
  • 确认安装时勾选了 “Add Docker CLI to PATH”
  • 如未勾选,可重新安装或手动将 Docker 安装目录添加到系统环境变量
Q3:容器内无法访问外网?
  • 检查 Windows 防火墙是否放行 Docker 进程
  • 在 Docker Desktop 设置中执行 Troubleshoot → Reset to factory defaults
Q4:磁盘空间不足?

执行以下命令清理无用镜像和容器:

docker system prune -a

也可在 Docker Desktop 设置中调整 Disk image location 到其他盘符。

总结

在 Windows 上使用 Docker 的核心流程可以概括为:

  1. 安装:开启 WSL 2 → 安装 Docker Desktop → 配置 WSL 集成
  2. 验证:在 PowerShell / Windows Terminal 中执行 docker run hello-world
  3. 使用:所有 Docker 命令可在任意终端(PowerShell、CMD、WSL)中执行
  4. 拉取项目git clonedocker compose up -d 一键启动

掌握这些步骤后,你就可以在 Windows 上顺畅地使用 Docker 进行开发和部署了。建议将代码和项目文件放在 WSL 的 Linux 文件系统中(如 /home/username/projects),以获得最佳性能。

更多推荐