对于开发者来说,环境不一致导致的“在我电脑能跑”问题,常常让人抓狂。Docker 正是解决这一痛点的利器。本文将以 WSL2 为后端,手把手教你如何在 Windows 系统上安装 Docker,并带你跑通第一个容器,为后续学习 Kubernetes、容器编排 等高级技能打下坚实基础。
Docker 究竟是什么?为什么需要它?
很多人初听 Docker,容易把它和虚拟机混淆。简单来说,Docker 是一个轻量级的容器化平台,它允许你将应用及其所有依赖打包成一个标准化的单元——容器。无论你在本地开发、测试,还是部署到生产环境,这个容器都能保证一致的行为。
Docker 的核心优势包括:
- 环境一致性:杜绝“在我电脑能跑,到你那就报错”的尴尬。
- 轻量高效:共享宿主机内核,秒级启动,资源占用极低。
- 可移植性:一次构建,随处运行,不受底层操作系统影响。
- 快速部署:一条命令即可部署 Nginx、MySQL 等服务,扩容也只需复制容器。
可以说,Docker 是现代 容器化部署 和 K8s 生态的基石。
Docker 三大核心概念
理解 Docker,需要掌握三个核心概念:镜像(Image)、容器(Container) 和 仓库(Registry)。它们的关系可以概括为:仓库存镜像,镜像跑容器。
1. 镜像(Image)—— 只读模板
镜像是 只读的静态模板,包含了运行应用所需的代码、运行时、库、配置文件等所有依赖。它采用分层存储(UnionFS)技术,多个镜像可以共享同一基础层,从而节省磁盘空间。镜像本身不可运行,它只是一个“食谱”。
2. 容器(Container)—— 运行实例
容器是镜像的 运行实例,是一个独立隔离的进程空间。它拥有自己的文件系统、网络和进程 ID。容器基于镜像的只读层,新增一层可写层,运行时产生的数据都保存在这里。容器是轻量级的,启动只需 1-3 秒,且通过 Namespace 实现隔离,互不干扰。
3. 仓库(Registry)—— 镜像商店
仓库是 存储和分发镜像的中心化服务,类似 GitHub 但用于存储 Docker 镜像。常见的有 Docker Hub(官方)、阿里云镜像仓库等。核心操作包括 docker pull(拉取镜像)和 docker push(推送镜像)。
4. 补充:Dockerfile(镜像构建脚本)
Dockerfile 是一个文本文件,用固定指令(如 FROM、RUN、COPY)定义镜像的构建步骤。它实现了镜像构建的 代码化,可版本控制、可复用,一键构建,避免手动配置环境出错。简单示例如下:
# 基础镜像(FROM指定)
FROM ubuntu:22.04
# 安装依赖(RUN执行命令)
RUN apt-get update && apt-get install -y nginx
# 复制本地文件到镜像(COPY复制文件)
COPY index.html /var/www/html/
# 暴露端口(EXPOSE声明端口)
EXPOSE 80
# 启动命令(CMD容器启动后执行)
CMD ["nginx", "-g", "daemon off;"]
Docker vs 虚拟机:核心差异
很多人分不清 Docker 和虚拟机,一句话总结:虚拟机是“完整房子”,Docker 是“共享公寓”。核心差异在于虚拟化层级、资源占用和隔离性。
| 对比维度 | Docker 容器 | 虚拟机(VM) |
|---|---|---|
| 虚拟化层级 | 操作系统级虚拟化(共享宿主机内核) | 硬件级虚拟化(独立内核 + 完整 OS) |
| 启动速度 | 秒级(1-3 秒) | 分钟级(3-5 分钟) |
| 资源占用 | 极低(MB 级,共享内核) | 极高(GB 级,每个 VM 独占 CPU / 内存) |
| 磁盘大小 | 镜像 MB 级,容器无额外开销 | 完整 OS 镜像 GB 级(如 Windows 10 约 20GB) |
| 隔离性 | 进程级隔离(共享内核,隔离较弱) | 硬件级隔离(完全独立,隔离极强) |
| 性能损耗 | 几乎无(直接调用宿主机内核) | 高(需模拟硬件 + 运行完整 OS) |
| 适用场景 | 微服务、CI/CD、云原生、轻量应用 | 多系统共存、高安全隔离、遗留系统 |
底层原理差异:
- 虚拟机:通过 Hypervisor 模拟硬件,每个虚拟机都需安装独立的 Guest OS,资源开销大。
- Docker:基于 Linux 内核的 Namespace(资源隔离)、CGroup(资源限制)和 UnionFS(分层文件系统),共享宿主机内核,无需额外 OS。
Docker 不是虚拟机的替代品,而是互补品:虚拟机适合强隔离、多系统场景;Docker 适合轻量、高效、云原生场景。
⚙️ 安装前准备:启用 WSL2
Windows 上推荐使用 WSL2 后端,性能更好,支持家庭版系统。
WSL(Windows Subsystem for Linux),即适用于 Linux 的 Windows 子系统,是微软推出的原生技术,允许 Windows 系统直接运行 Linux 程序,无需额外安装虚拟机或划分双系统分区。
我们本次安装使用的 WSL2 是第二代版本,搭载了完整的 Linux 内核,在运行性能、网络兼容性、文件读写能力上远优于第一代 WSL,也是目前 Windows 平台运行 Docker 的标准推荐方案。
Docker 为什么依赖 WSL2
Docker 原本诞生于 Linux 系统,底层依赖 Linux 内核的命名空间、控制组等隔离技术。 Windows 本身内核不支持 Docker 原生运行,所以提供了两种兼容方案:
- Hyper-V 虚拟机:老旧方案,资源占用高,Windows 家庭版还不支持;
- WSL2:轻量、高效、全版本兼容(Win10/Win11 家庭版、专业版都能用),也是本文采用的安装方式。
Docker Desktop 借助 WSL2 作为底层运行环境,把容器运行在 WSL2 内部,Windows 端只做交互与管理,兼顾了易用性和性能。
1. 检查系统要求
- Windows 10 2004+ 或 Windows 11
- 内存 ≥ 4GB(推荐 8GB+)
- CPU 支持并开启虚拟化(Intel VT-x / AMD-V)
2. 开启虚拟化
重启电脑进入 BIOS,找到 Virtualization Technology 选项,设为 Enabled。保存重启后,通过任务管理器确认虚拟化已启用。

3. 启用 WSL2 功能
以 管理员身份 打开 PowerShell,执行以下命令:
# 启用 WSL 子系统
dism /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 启用虚拟机平台
dism /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# 设置 WSL 默认版本为 2
wsl --set-default-version 2


⚠️ 执行完成后,必须重启电脑,否则 WSL2 无法生效。
安装 Docker Desktop
1. 下载安装包
前往 Docker 官网下载 Windows 版安装包,选择 Download for Windows - AMD64(适用于绝大多数电脑)。

2. 安装过程
双击运行安装包,在配置界面:
- 选择
All-users installation(推荐,稳定无限制) - 勾选
Add shortcut to desktop(方便后续快速启动) - 务必勾选
Use WSL 2 instead of Hyper-V

点击 OK 等待安装完成,然后点击 Close and log out 注销并重新登录。
3. 首次启动配置
双击桌面 Docker 图标启动程序。首次启动会弹出服务协议,点击 Accept。登录界面选择 Continue without signing in(个人开发无需注册账号)。等待右下角鲸鱼图标变为绿色,或左下角显示 Engine running,即表示 Docker 服务就绪。


✅ 验证安装:跑通第一个容器
打开 PowerShell,执行以下命令:
# 查看 Docker 版本
docker --version
# 运行 hello-world 测试容器
docker run hello-world
若看到以下输出,说明安装完全成功:
Hello from Docker!
This message shows that your installation appears to be working correctly.
如果第一次失败,Docker 会自动拉取镜像(Pulling),再运行一次即可。


入门案例:部署 Nginx 网页服务
我们来跑一个 Nginx 容器,体验 Docker 的便捷部署能力。
1. 拉取 Nginx 镜像
docker pull nginx
Docker 会自动从 Docker Hub 下载最新版 Nginx 镜像。
2. 运行 Nginx 容器
docker run -d -p 80:80 --name my-nginx nginx
参数说明:
-d:后台运行容器-p 宿主机端口:容器端口:将宿主机 80 端口映射到容器的 80 端口--name:给容器命名
3. 访问 Nginx 服务
打开浏览器,访问 http://localhost,看到 Nginx 欢迎页即部署成功!
4. 容器基础管理命令
# 查看运行中的容器
docker ps
# 停止容器
docker stop my-nginx
# 启动容器
docker start my-nginx
# 删除容器(需先停止)
docker rm my-nginx
# 删除镜像
docker rmi nginx
进阶优化:配置国内镜像源(必做)
国内网络访问 Docker Hub 较慢,配置镜像源可大幅提升拉取速度。打开 Docker Desktop → 右上角设置 → Docker Engine,将配置替换为以下内容:
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"features": {
"buildkit": true
},
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.1ms.run"
]
}
点击 Apply & Restart 并等待 Docker 重启生效。
总结与下一步
至此,你已完成了 Docker 的安装、验证和入门实战。现在你可以:
- 拉取并运行公共镜像(如 MySQL、Redis)
- 体验容器的部署、启停、删除等基础操作
- 为后续学习 Kubernetes、容器编排、CI/CD 打下基础
Docker 的核心优势就是“一次构建,随处运行”。接下来,你可以尝试将自己的项目打包成镜像并部署到容器中,感受容器化带来的高效与便捷。
[AFFILIATE_SLOT_2]如果对你有帮助,请点赞、关注、收藏,你的支持就是我最大的动力!
浙公网安备 33010602011771号