Windows 环境下 Docker 知识指南
在 Windows 上使用 Docker,核心思路是通过 Docker Desktop 配合 WSL 2(Windows Subsystem for Linux 2)后端,在 Windows 系统中运行 Linux 容器。本教程将从零开始,带你完成安装、配置、命令执行到快速拉取项目的完整流程。
一、系统要求与准备工作
在开始安装之前,请确保你的系统满足以下要求:
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| 操作系统 | Windows 10 22H2 及以上 / Windows 11 | 最新版 Windows 11 |
| 系统版本 | 专业版/企业版/教育版(家庭版需安装 WSL 2) | 专业版及以上 |
| 内存 | 4GB | 16GB 以上 |
| 存储 | 20GB 可用空间 | 50GB SSD |
| CPU | 支持虚拟化技术(VT-x/AMD-V) | 多核处理器 |
| WSL 版本 | WSL 2 | WSL 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
- 访问 Docker 官网 下载 Docker Desktop for Windows
- 双击
Docker Desktop Installer.exe开始安装 - 安装过程中务必勾选:
- ✅ Use WSL 2 instead of Hyper-V(使用 WSL 2 引擎)
- ✅ Add Docker CLI to PATH(将 Docker CLI 添加到系统路径)
- 等待安装完成,建议重启电脑后再启动 Docker Desktop
2.4 通过命令行静默安装(可选)
如需指定安装目录,可在 PowerShell(管理员)中执行:
& ".\Docker Desktop Installer.exe" install --quiet --accept-license --installation-dir="D:\Docker"
三、首次启动与配置
3.1 启动 Docker Desktop
- 从 Windows 开始菜单或桌面快捷方式启动 Docker Desktop
- 首次启动会显示订阅协议,点击 Accept 继续
- 等待右下角状态变为 “Docker Desktop is running”,即表示服务正常
3.2 配置 WSL 2 集成
为了让 Docker 与 WSL 2 深度集成,需要进行以下配置:
- 点击 Docker Desktop 右上角的 ⚙️ 设置(Settings)
- 进入 General(常规) → 确保 “Use WSL 2 based engine” 已勾选
- 进入 Resources(资源) → WSL Integration(WSL 集成)
- 勾选 “Enable integration with my default WSL distro”
- 在下方列表中,勾选你需要集成的 Linux 发行版(如 Ubuntu-22.04)
- 点击 Apply & Restart 保存并重启
💡 提示:完成 WSL 2 集成后,你可以直接在 WSL 终端中使用 Docker 命令,也可以在 Windows 的 PowerShell/CMD 中使用。
3.3 配置镜像加速器(国内用户强烈推荐)
由于网络原因,国内用户拉取 Docker Hub 镜像可能很慢,建议配置镜像加速器:
- 打开 Docker Desktop → 右上角 ⚙️ 设置(Settings)
- 进入 Docker Engine
- 在 JSON 配置的顶层大括号内添加以下内容:
{
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker-0.unsee.tech",
"https://docker.mirrors.ustc.edu.cn"
]
}
- 点击 Apply & Restart 等待 Docker 重启
💡 提示:阿里云用户可登录容器镜像服务获取专属加速器地址,格式为
https://{your_id}.mirror.aliyuncs.com。
四、常用 Docker 指令在哪里执行?
4.1 可执行 Docker 命令的终端环境
安装并配置好 Docker Desktop 后,你可以在以下任意终端中执行 Docker 命令:
| 终端类型 | 说明 | 推荐程度 |
|---|---|---|
| PowerShell | Windows 自带,功能强大 | ⭐⭐⭐⭐⭐ |
| Windows Terminal | 微软官方终端,可同时管理多个终端 | ⭐⭐⭐⭐⭐ |
| CMD(命令提示符) | 传统命令行,功能基础 | ⭐⭐⭐ |
| WSL 终端(如 Ubuntu) | 进入 WSL 发行版后执行 | ⭐⭐⭐⭐ |
| Git Bash | Git 自带,兼容 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 的远程容器开发模式:
- 在 VS Code 中安装 WSL 扩展和 Dev Containers 扩展
- 在终端中输入
wsl进入 WSL 环境 - 在 WSL 中导航到项目目录,执行
code . - VS Code 会自动连接到 WSL 环境,你可以在容器中完成代码编写、调试和运行
这种方式将代码存储在 WSL 的 Linux 文件系统中,性能最佳。
6.4 网络加速工具推荐
如果遇到 git clone 或 docker pull 速度慢的问题,可使用以下工具:
- CNFast:一键式解决
git pull、git clone、docker 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 的核心流程可以概括为:
- 安装:开启 WSL 2 → 安装 Docker Desktop → 配置 WSL 集成
- 验证:在 PowerShell / Windows Terminal 中执行
docker run hello-world - 使用:所有 Docker 命令可在任意终端(PowerShell、CMD、WSL)中执行
- 拉取项目:
git clone→docker compose up -d一键启动
掌握这些步骤后,你就可以在 Windows 上顺畅地使用 Docker 进行开发和部署了。建议将代码和项目文件放在 WSL 的 Linux 文件系统中(如 /home/username/projects),以获得最佳性能。
更多推荐
所有评论(0)