新配Win10笔记本集成Docker搭建基础开发环境,过程有一点点小波折,查阅到的资料也是七零八碎的,经过摸索成功解决,遂将相关笔记整理汇总,给需要的小伙伴参考。
1 Docker Backend选型
1.1 查询本机系统信息
- cmd或者powershell输入
winver
获取本机操作系统信息,可以看到我的电脑是win10家庭版
,版本是22H2

1.2 养成好习惯:查询官网获取System requirements
对照Docker官网System requirements是为了少走弯路让安装更顺畅,所谓知己知彼百战不殆
;我们都知道,Docker支持Hyper-V 、WSL 2两种可选的后端引擎,查询官网也为理清本机支持哪种引擎及需具备什么条件。官网描述的很清楚:
- 先看Hyper-V 要求:
- 结论:家庭版绝缘!目前来看我的机器无法选择Hyper-V作为后端。

- 没关系我们继续看WSL 2 系统要求:
- 结论:
Windows 10 64-bit: Minimum required is Home or Pro 22H2 (build 19045) or higher, or Enterprise or Education 22H2 (build 19045) or higher.
,机器适配WSL 2系统要求
- 结论:

1.3 确定选型:WSL 2
由于所使用机器不支持Hyper-V直接选型WSL 2,其实在 Windows 操作系统中,Docker 使用 WSL 2 作为后端引擎来运行 Linux 容器 ,简化架构的同时提升性能与兼容性,是当前推荐的部署方式。继续补充一些拓展知识(不感兴趣的小伙伴可以直接跳过):
++ WLS 2是什么?
WSL 2(Windows Subsystem for Linux 2)
是微软为 Windows 10 和 Windows 11 提供的一种在 Windows 系统中运行 Linux 环境的方式。- WSL 2 是一种 轻量级虚拟机环境,使用由微软维护并优化的真实 Linux 内核,提供更高的系统兼容性和更优的性能表现。
++ 其实WLS 2与Hyper-V关系密切
- WSL 2 是运行在 Hyper-V 虚拟化技术基础上的轻量级 Linux 环境 ,但 不需要开启完整的 Hyper-V 管理器 来使用 WSL 2。
项目 | WSL 2 | Hyper-V |
---|---|---|
本质 | 运行 Linux 的轻量虚拟化子系统 | 微软的完整虚拟化平台 |
是否使用虚拟化 | ✅ 是 | ✅ 是 |
使用 Hyper-V 内核吗 | ✅ 使用 Hyper-V 的核心虚拟化功能(称为 Hyper-V 功能集) | ✅ 使用完整 Hyper-V 平台(包括 VM 管理器) |
是否需要启用"Hyper-V"功能 | ❌ 不强制(不需要完整 Hyper-V 角色) ✅ 需要启用 "虚拟机平台 (VirtualMachinePlatform)" | ✅ 需要启用 Hyper-V 平台 |
资源占用 | 轻量,按需启动 | 较重,需要后台运行虚拟机管理器 |
是否依赖 Hyper-V 虚拟化 | ✅ 依赖(使用其子集) | ✅ 依赖 |
2 Docker环境集成实操
2.1 集成及开启WSL 2
2.1.1 开启WSL和虚拟机平台(Virtual Machine Platform)
- cmd或者powershell执行如下命令
shell
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
2.1.2 安装 WSL 2及Ubuntu
- 安装(执行如下命令)
- 如果安装失败,也可以微软商店,搜索并手动安装 Ubuntu 20.04 LTS(推荐版本)
shell
wsl --install
- 设置(执行如下命令)
shell
wsl --set-default-version 2
2.1.3 启用Ubuntu子系统
- 查询子系统是否处于运行状态:首次安装通常是Stopped状态
shell
wsl --list --verbose
- 如果子系统是Stopped状态,执行如下命令手动开启
- 首次启动会提示设置用户及密码,按需设置即可,注意密码是不可见的,自行记忆
shell
wsl -d Ubuntu
- 再次执行
wsl --list --verbose
确认运行状态是否为Running
2.1.4 【补充】关于后续启动Docker是否需要启动子系统的问题
- 正常情况下:不需要手动启动 Ubuntu子系统,Docker 会自动唤醒
- 非正常情况下(例如杀毒软件误杀,进程误杀等):需要手动启动子系统(如果子系统异常Docker会提示错误,根据错误结合
wsl --list --verbose
判断是否需要wsl -d Ubuntu
)
2.2 Docker Desktop安装及配置
2.2.1 Docker Desktop windows系统安装包下载
详见Docker官网,不赘述
2.2.2 指定目录安装
Docker Desktop默认会将软件安装在C:\Program Files\Docker\Docker
,这对系统盘存储空间极其不友好,好在可以通过命令行参数的形式指定目录安装(相关说明官网有给出,截图如下)

继续以管理员身份运行PowerShell,执行如下命令(等待命令执行完成,应该需要好几分钟):
- 命令的具体含义:启动
Docker Desktop Installer.exe
安装程序,静默安装 Docker Desktop 到指定目录,接受许可协议,并指定使用 WSL 2 作为运行后端
shell
Start-Process -FilePath "C:\Users\[your_pc_name]\Desktop\Docker Desktop Installer.exe" -ArgumentList "install --quiet --accept-license --installation-dir=`"D:\software\DockerEnv`" --backend=wsl-2" -Wait -NoNewWindow
2.2.2 启动Docker Desktop进入settings进行设置(建议重启)
- 设置1(★★★★):让 Docker 自动集成到你的默认 WSL 发行版中(比如 Ubuntu) ,可以在该 Linux 子系统中运行 Docker 命令,比如
docker run
。

- 设置2(★★★★★):迁移/更改wsl目录
- 强烈建议迁移或更改,否则随着使用深入C盘空间会报红
- 设置完整后强烈建议重启

2.3 验证Docker是否安装成功
2.3.1 执行docker --version
通常会看到版本信息
2.3.2 执行docker run hello-world
通常会看到成功日志,并且在Docker Desktop UI中可以看到running的container及有效的Image
- hello-world如不需要了,参考如下方法删除
shell
docker ps -a
# 根据ID删除容器
docker rm [你查询到的容器ID]
# 删除镜像
docker rmi hello-world
3 实战:基于Docker搭建PostgreSQL环境
PostgreSQL(简称 Postgres )是一个功能强大、开源的关系型数据库管理系统(RDBMS) ,被广泛用于 Web 开发、企业系统、大数据平台等场景。它是目前最先进、最具扩展性的数据库之一
3.1 创建Volume
shell
# 创建PostgreSQL专用卷
docker volume create pgdata
# 再次查看(现在应该能看到新增加的卷)
docker volume ls
3.2 创建PostgreSQL
shell
docker run --name pgserver -e POSTGRES_USER=[your_user_name] -e POSTGRES_PASSWORD=[your_password] -e POSTGRES_DB=[your_db_name] -v pgdata:/var/lib/postgresql/data -p 5432:5432 -d postgres:15
3.3 测试验证
3.3.1 psql command line tools安装
- 下载地址,如果确定仅需要使用命令行功能,安装过程选装
Command Line Tools
即可

- 记得将
[your_path]\PostgreSQL\15\bin
添加至环境变量 - 验证是否成功:
psql --version
3.3.2 连接progresql测试
- 执行
psql -h localhost -p 5432 -U admin -d production
输入密码进入Postgre,执行\l
,执行\q
退出。
4 填坑
4.1 Docker拉取资源失败的问题
由于我有爬梯,其实基本没碰到什么失败或不能访问的情况,对于没有爬梯的,不妨找找镜像源,也欢迎留言分享靠谱的镜像源。
以上就是新配Win10笔记本集成Docker搭建基础开发环境过程笔记梳理,希望能够帮到有需要的同学,欢迎交流。