news 2026/9/28 8:57:37

Windows上配置WSL 2 + Docker开发环境全攻略

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Windows上配置WSL 2 + Docker开发环境全攻略

Windows上配置WSL 2 + Docker开发环境全攻略

前言

对于许多开发者来说,Windows上的Linux开发环境一直是个痛点。传统的虚拟机方案资源占用大、启动慢,双系统切换又太麻烦。而现在,微软的WSL 2(Windows Subsystem for Linux)配合Docker,为我们提供了近乎完美的解决方案——既能享受Windows的日常便利,又能获得原生Linux的开发体验。

一、环境准备

1.1 系统要求

  • Windows 10 版本 1903 或更高版本(建议Windows 11)
  • 支持硬件虚拟化(任务管理器 > 性能 > CPU 查看)
  • 至少8GB内存(推荐16GB)

1.2 启用必要的Windows功能

以管理员身份打开PowerShell,运行:

dism.exe/online/enable-feature/featurename:Microsoft-Windows-Subsystem-Linux/all/norestart dism.exe/online/enable-feature/featurename:VirtualMachinePlatform/all/norestart

重启计算机完成安装。

二、安装WSL 2

2.1 安装步骤

# 设置WSL 2为默认版本wsl--set-default-version 2# 查看可安装的Linux发行版wsl--list--online# 安装Ubuntu 22.04 LTSwsl--install-d Ubuntu-22.04

安装过程中创建Linux用户名和密码。

2.2 验证安装

wsl-l-v

看到Ubuntu版本为2即成功。

2.3 初始化Ubuntu

sudoaptupdate&&sudoaptupgrade-y

三、方案一:使用Docker Desktop(推荐新手)

3.1 安装Docker Desktop

  1. 从 Docker官网 下载Docker Desktop for Windows
  2. 运行安装程序,勾选“Install required Windows components for WSL 2”
  3. 重启计算机

3.2 配置WSL集成

  1. 启动Docker Desktop
  2. Settings > General,确保“Use the WSL 2 based engine”已勾选
  3. Settings > Resources > WSL Integration
  4. 启用Ubuntu发行版
  5. Apply & Restart

3.3 验证安装

docker--versiondockerrun hello-world

四、方案二:WSL中直接安装Docker引擎

4.1 安装Docker引擎

sudoaptupdatesudoaptinstall-yapt-transport-https ca-certificatescurlgnupg2 software-properties-commoncurl-fsSLhttps://download.docker.com/linux/ubuntu/gpg|sudogpg--dearmor-o/usr/share/keyrings/docker-archive-keyring.gpgecho"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu$(lsb_release-cs)stable"|sudotee/etc/apt/sources.list.d/docker.list>/dev/nullsudoaptupdatesudoaptinstall-ydocker-ce docker-ce-cli containerd.io

4.2 配置iptables兼容性

sudoupdate-alternatives--configiptables

选择iptables-legacy。

4.3 启动Docker

sudoservicedockerstart

4.4 配置用户权限

sudousermod-aGdocker$USER

需要重新打开终端生效。

五、配置Docker镜像加速器(国内必备)

5.1 创建配置文件

sudomkdir-p/etc/dockersudonano/etc/docker/daemon.json

5.2 添加加速器地址

{"registry-mirrors":["https://docker.1ms.run","https://docker.xuanyuan.me"]}

5.3 重启Docker服务

sudosystemctl daemon-reloadsudosystemctl restartdocker

5.4 验证加速器

dockerinfo|grep-A5"Registry Mirrors"

六、常见问题排查

6.1 WSL 2内存占用过高

在Windows用户目录创建.wslconfig:

[wsl2] memory=4GB processors=2 localhostForwarding=true

重启WSL:

wsl--shutdown

6.2 Docker服务无法启动

sudodockerd--debug

6.3 文件权限问题

sudochmod777/mnt/d/你的文件夹

七、总结

通过WSL 2和Docker的结合,Windows已经成为一个强大的Linux开发平台。两种方案适用场景:

  • Docker Desktop方案:适合新手、需要图形界面管理
  • 原生Docker引擎方案:适合追求纯粹性、需要与生产环境一致

配置好镜像加速器后,国内访问Docker Hub将变得流畅许多。祝配置顺利!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/28 8:54:43

数字通信核心原理与工程实践:从采样编码到调制同步的完整拆解

数字通信这四个字,很多非通信专业的人一听就觉得是教材里的某个章节,离自己很远。但实际上,你手机里的每一通电话、每一张照片、每一次扫码支付,背后全是这套东西在工作。我做了几年通信系统相关的技术工作,今天把数字…

作者头像 李华
网站建设 2026/9/28 8:54:08

毫米波雷达速度模糊实战:Doppler相偏补偿方案与TI平台实现

1. 速度模糊到底卡在哪:从一次实测翻车说起毫米波雷达测速这件事,刚上手的时候觉得挺简单——发射一串Chirp,做距离维FFT,再做多普勒维FFT,峰值在哪个Bin,速度就出来了。公式也简单,v λfd / 2…

作者头像 李华
网站建设 2026/9/28 8:54:01

VSCode + PlatformIO 搭建 ESP32 开发环境:安装配置与避坑指南

1. 为什么我最终选了 VSCode PlatformIO 这套组合1.1 从 Arduino IDE 到 PIO 的迁移动机最早接触 ESP32 的时候,我和大多数人一样,用的是 Arduino IDE。装个板子支持包,选个端口,点一下上传,确实简单。但项目稍微复杂…

作者头像 李华
网站建设 2026/9/28 8:53:37

基于C++的跳棋联机源码:UDP通信与加密链路工程解析

简介:一套基于C编写的跳棋游戏完整源码,适合C初学者、高校编程课程学生及棋类游戏开发者。项目以面向对象方式抽象棋盘、棋子与规则,示范了继承、多态、STL容器和异常处理在实际程序中的配合,帮助读者建立从需求分析到代码落地的完…

作者头像 李华
网站建设 2026/9/28 8:52:59

Linux基础入门:从目录命令权限到系统运维实践

我清楚记得第一次学 Linux 的那天晚上,虚拟机里装好了 Ubuntu,打开终端后屏幕上只有一个孤零零的光标,脑袋里已经搜刮不出第二条命令,连ls都敲成了sl,还被旁边的人笑了好一阵。后来做了几年 Linux 运维和开发&#xff…

作者头像 李华
网站建设 2026/9/28 8:52:59

Bash脚本入门指南:从Shell概念到实战脚本编写

我看不少刚入行的朋友,对Linux或开发环境的第一道坎,往往不在某个具体命令,而是对bash本身没有概念。知道它是“终端里能输入命令的东西”,但搞不清楚Shell、bash、脚本之间到底什么关系,也不会写一个像样的脚本文件。…

作者头像 李华