WSL2 下的 Docker 轻量开发环境:从零配置到日常提效(Windows)

适用场景:为什么要用 WSL2 + Docker Engine

如果你在 Windows 上做开发,Docker Desktop 很方便,但也可能遇到资源占用、启动慢、版本策略或公司合规限制等问题。一个常见替代方案是:直接在 WSL2 的 Linux 发行版里安装 Docker Engine,让容器跑在 Linux 环境中,再通过命令行/VS Code/IDE 来管理。

本文以“从零配置 + 可长期使用”为目标,尽量把关键点一次讲清:安装、权限、网络优化思路、与 VS Code 配合、以及常见坑的排查方向。

准备工作:确认系统与 WSL2 状态

建议在开始前确认三件事:1)Windows 已开启 WSL 与虚拟机相关组件;2)WSL 默认版本为 2;3)已安装一个 Linux 发行版(例如 Ubuntu)。

第 1 步:安装/更新 WSL2 与 Ubuntu(推荐)

优先使用官方渠道安装 WSL 与发行版。安装好 Ubuntu 后,首次启动会让你创建 Linux 用户名与密码。

进入 Ubuntu 后,先把基础依赖更新到位:

sudo apt update sudo apt -y upgrade sudo apt -y install ca-certificates curl gnupg lsb-release

第 2 步:在 WSL2 中安装 Docker Engine(不依赖 Docker Desktop)

下面以 Docker 官方仓库为例(更容易获得稳定更新):

# 添加 Docker 官方 GPG key sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg # 添加仓库 echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update sudo apt -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安装完成后,启动并验证:

sudo service docker start sudo docker version sudo docker run --rm hello-world

第 3 步:配置免 sudo 使用 Docker(更顺手)

为了避免每次都输入 sudo,可以把当前用户加入 docker 组:

sudo usermod -aG docker $USER # 重新登录 WSL 终端后生效

重新打开 Ubuntu 终端后,验证:

docker ps

第 4 步:网络与拉取速度优化(按需)

在部分网络环境下,拉取镜像可能会很慢。常见优化方向:配置镜像加速、检查 DNS、按单位合规要求配置代理、尽量使用体积更小的基础镜像(如 alpine/slim)。

第 5 步:与 VS Code 搭配(更稳的开发体验)

推荐安装 VS Code 的 Remote - WSL 扩展,用 VS Code 直接打开 WSL 内的工程目录。这样代码与依赖在 Linux 文件系统中,终端与 Docker 命令也在同一环境,整体更稳定。

常见问题排查清单

1)docker: permission denied:通常是没加入 docker 组或没重新登录 WSL。

2)Cannot connect to the Docker daemon:检查 docker 服务是否启动(service docker status/start)。

3)拉镜像慢:优先确认网络与 DNS,再考虑镜像加速或代理。

4)磁盘占用增长快:定期清理无用镜像/容器/缓存(谨慎执行,避免误删正在用的资源)。

日常提效小抄(建议收藏)

- 用 docker compose 管理多服务:一条命令起停整套环境;

- 固定工作目录在 WSL 的 Linux 文件系统(如 /home/xxx/project);

- 给常用命令做 alias(compose up/down、日志查看等);

- 临时容器加 --rm,减少环境残留;

- 定期检查镜像与容器数量,避免环境越用越臃肿。

结语

用 WSL2 运行 Docker 的最大价值是:把容器运行环境放回 Linux,兼顾 Windows 的编辑体验与开发效率。你可以先按本文完成最小可用配置,再根据项目逐步完善镜像加速、compose 模板与开发容器工作流。

用户评论 (0)

登录后参与讨论

立即登录 注册账号

暂无评论,快来抢沙发吧~

操作成功