Docker | 从零到一:Windows 10 环境下的完整安装与首次运行指南
1. 为什么Windows用户需要Docker?
如果你是一名Windows开发者,可能经常遇到这样的场景:同事在Linux服务器上跑得好好的程序,到你本地就各种报错;或者想快速搭建一个MySQL测试环境,却被繁琐的安装配置劝退。这时候Docker就像个魔法工具箱——它能把应用程序和所需环境打包成标准化单元,彻底解决"在我机器上能跑"的经典难题。
我最初接触Docker是因为要同时维护Python 2.7和3.8的项目。传统方式需要反复卸载重装解释器,而用Docker只需要两行命令就能创建隔离环境:
docker run -it python:2.7 bash
docker run -it python:3.8 bash
在Windows 10上使用Docker的优势特别明显:
- 环境一致性:容器包含应用的全部依赖,从开发到生产保持完全一致
- 资源高效:相比传统虚拟机,容器共享主机OS内核,启动更快且占用资源更少
- 生态丰富:Docker Hub上有百万级现成镜像,从数据库到AI框架应有尽有
2. 安装前的必要准备
2.1 检查系统兼容性
在开始安装前,先确认你的Windows 10满足这些硬性条件:
- 版本1903及以上(内部版本号≥18362)
- 64位处理器且支持虚拟化技术
- 至少4GB内存(建议8GB以上)
快速检查方法:按Win+R输入winver,会弹出如图所示的版本信息窗口。如果版本过低,需要通过Windows Update升级系统。

提示:部分电脑需要进BIOS开启虚拟化支持(Intel VT-x/AMD-V),开机时按F2或Del键进入设置
2.2 启用WSL 2后端
Docker Desktop for Windows依赖WSL 2(Windows Subsystem for Linux)作为底层引擎。配置过程稍复杂但只需操作一次:
-
开启Linux子系统功能: 以管理员身份打开PowerShell,执行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart -
启用虚拟机平台: 继续在同一个窗口运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart -
安装WSL 2内核更新包: 从微软官网下载并运行
wsl_update_x64.msi,安装过程全部默认下一步即可。 -
设置WSL 2为默认版本:
wsl --set-default-version 2
实测下来,很多同学卡在第三步。如果遇到"WSL 2 requires an update to its kernel component"错误,通常是因为没安装内核更新包,或者忘记重启电脑。
3. 一步步安装Docker Desktop
3.1 获取安装包
访问Docker官网的Windows版本下载页,点击"Download for Windows"按钮。注意有两个版本:
- Stable:稳定版,适合生产环境(推荐新手选择)
- Edge:尝鲜版,包含最新功能但可能有bug
安装包大小约500MB,下载速度取决于你的网络状况。我遇到过校园网限速的情况,这时可以尝试用手机热点下载。
3.2 运行安装程序
双击下载的Docker Desktop Installer.exe,安装过程中有几个关键选择:
- 勾选"Install required Windows components for WSL 2"
- 建议取消"Add shortcut to desktop"(避免桌面图标过多)
- 安装完成后务必选择"Restart now"立即重启
第一次启动时会看到用户协议,勾选接受条款后,Docker会自动完成初始配置。这时任务栏会出现鲸鱼图标,如果图标在动画状态说明正在启动,静止不动则表示已就绪。
3.3 验证安装
打开PowerShell或CMD,输入以下命令测试:
docker --version
docker run hello-world
如果看到"Hello from Docker!"的欢迎信息,同时命令行输出显示Docker客户端和服务端版本,说明安装成功。
常见问题:如果提示"docker daemon not running",右键任务栏鲸鱼图标选择"Restart Docker"
4. 配置优化与加速
4.1 更换国内镜像源
默认从Docker Hub拉取镜像速度较慢,可以通过修改配置使用国内镜像加速:
- 右键任务栏鲸鱼图标 → Settings → Docker Engine
- 在配置JSON中添加镜像地址:
"registry-mirrors": [ "https://registry.docker-cn.com", "https://hub-mirror.c.163.com" ] - 点击"Apply & Restart"保存设置
我对比过各镜像源的速度,阿里云通常最快(需注册账号获取专属地址),网易云镜像稳定性较好。
4.2 调整资源分配
对于开发机器学习等重负载应用,建议调整默认资源限制:
- CPU:设置为物理核心数的50-70%
- 内存:不超过总内存的60%(留足系统余量)
- 磁盘:建议分配至少50GB空间
这些设置在Settings → Resources中可以图形化调整,修改后同样需要重启生效。
5. 运行你的第一个容器
5.1 拉取并运行Nginx
让我们用实际案例感受Docker的便利性。以下命令会下载最新版Nginx镜像并在80端口启动:
docker run -d -p 8080:80 --name my_nginx nginx
打开浏览器访问http://localhost:8080,应该能看到Nginx欢迎页。这里解释下参数:
-d:后台运行模式-p 8080:80:将容器80端口映射到主机8080端口--name:给容器起个易记的名字
5.2 管理容器生命周期
掌握这几个常用命令就能应对大部分场景:
# 查看运行中的容器
docker ps
# 查看所有容器(包括已停止的)
docker ps -a
# 停止/启动容器
docker stop my_nginx
docker start my_nginx
# 进入容器内部(类似SSH)
docker exec -it my_nginx bash
# 删除容器
docker rm my_nginx
5.3 数据持久化实战
容器默认是临时存储,重启后数据会丢失。要实现数据持久化,可以使用卷(volume)挂载:
# 创建名为web_data的卷
docker volume create web_data
# 运行容器并挂载卷
docker run -d -p 8080:80 -v web_data:/usr/share/nginx/html --name nginx_with_data nginx
现在即使删除容器,只要重新挂载web_data卷,之前的网站文件都会保留。
6. 避坑指南与进阶建议
6.1 常见问题排查
Q1:WSL 2初始化失败
- 确保BIOS中开启虚拟化
- 运行
wsl --update升级内核 - 在PowerShell执行
wsl --set-default-version 2
Q2:端口冲突
- 用
netstat -ano查看占用端口的进程 - 修改容器映射端口如
-p 8081:80
Q3:磁盘空间不足
- 定期清理无用镜像:
docker system prune - 迁移数据目录到更大分区
6.2 推荐学习路径
- 基础命令:
docker build/run/exec等核心操作 - Dockerfile编写:学习如何自定义镜像
- Docker Compose:掌握多容器编排技术
- 集群管理:了解Swarm或Kubernetes基础
刚开始建议从官方文档的Get Started教程入手,然后尝试把自己的项目容器化。我在学习时用Docker搭建了全套LAMP环境,比传统方式节省了80%的配置时间。
更多推荐
所有评论(0)