10分钟搞定!用WSL在Windows上优雅安装 Docker,开发者福音
前言
对于 Windows 用户来说,Docker 的安装常常被各种环境问题折磨得头昏脑涨:虚拟机太重、配置太麻烦,甚至还有兼容性问题!但别急,这不是你的错!
今天我们用WSL(Windows Subsystem for Linux) 解决一切烦恼:无需装双系统、无痛切换 Linux 环境,轻松安装 Docker,解锁高效开发和测试流程!
一、为什么选择 WSL + Docker?
WSL 的优势:
-
轻量级 Linux 环境:无需双系统或虚拟机,运行 Linux 原生应用。
-
和 Windows 无缝集成:直接访问 Windows 文件系统,轻松调试和测试。
-
资源效率高:比虚拟机更省内存和 CPU。
Docker 的优势:
-
开发与测试的环境隔离神器:开发人员再也不用担心“我的代码在我电脑上能跑”。
-
快速部署:一次构建镜像,到处运行。
当 WSL 和 Docker 结合后,轻松解决了在 Windows 上运行 Docker 的性能和兼容性问题。
二、准备工作
1. 系统要求
• Windows 10 (版本 1903 或更高)
• 启用了 WSL 2 功能
2. 启用 WSL 2
-
打开 PowerShell(以管理员身份运行),运行以下命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestartdism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
-
下载并安装 WSL 2 更新包(微软官网提供)。
-
设置 WSL 2 为默认版本:
wsl --set-default-version 2
-
安装一个 Linux 发行版(推荐 Ubuntu)。在 Microsoft Store 中搜索 “Ubuntu” 并安装。
三、安装 Docker
1. 安装 Docker Desktop
-
1. 从 Docker 官方网站 下载并安装 Docker Desktop。
-
2. 在安装过程中,确保勾选 “Enable the WSL 2 based engine”。
-
3. 启动 Docker Desktop,进入 Settings > General,确认已启用 WSL 2 引擎。
https://www.docker.com/products/docker-desktop/
2. 将 WSL 与 Docker 关联
-
1. 在 Docker Desktop 的设置中,进入 Settings > Resources > WSL Integration。
-
2. 勾选你的 Linux 发行版(例如 Ubuntu),启用与 Docker 的集成。
四、配置 WSL 中的 Docker
1. 验证 Docker 是否运行
在 WSL 的终端中(例如 Ubuntu),运行以下命令:
docker --version
如果输出 Docker 的版本号,说明 Docker 安装成功。
2. 测试 Docker
运行一个简单的容器:
docker run hello-world
你会看到 Docker 从镜像仓库下载并运行了 hello-world
容器。
3. 设置非 root 用户运行 Docker
默认情况下,Docker 需要 sudo
权限运行。为了方便,你可以配置非 root 用户运行:
sudo groupadd dockersudo usermod -aG docker $USER
重新登录 WSL 后即可生效。
五、Docker 常用命令及示例
1. 镜像管理
命令 | 功能 |
---|---|
docker pull [镜像名] | 下载镜像 |
docker images | 查看本地镜像 |
docker rmi [镜像ID] | 删除镜像 |
2. 容器管理
命令 | 功能 |
---|---|
docker run | 创建并启动容器 |
docker ps | 查看正在运行的容器 |
docker stop [容器ID] | 停止容器 |
docker rm [容器ID] | 删除容器 |
示例:运行一个 Nginx 容器:
docker run -d -p 8080:80 --name nginx-demo nginx
-
-d
:后台运行容器。 -
-p
:端口映射。 -
--name
:容器命名。
访问 http://localhost:8080
,你将看到 Nginx 的欢迎页面。
六、常见问题及解决方案
1. Docker 服务未启动
在 WSL 中运行以下命令检查 Docker 服务状态:
sudo service docker status
如果未启动,运行:
sudo service docker start
2. 镜像下载速度慢
可以配置国内镜像加速器(如阿里云):
sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"]}EOFsudo systemctl restart docker
七、实际应用场景:从开发到测试
1. 搭建开发环境
使用 Docker 可以快速搭建如 Node.js、Python、Java 的开发环境。例如运行一个 Node.js 容器:
docker run -it -v $(pwd):/app -w /app node bash
2. 自动化测试
结合 Selenium 和 Docker,可以轻松搭建自动化测试环境:
docker run -d -p 4444:4444 selenium/standalone-chrome
3. 部署应用
通过 Dockerfile,将你的应用打包为镜像,一键部署到任何环境。
八、为什么选择 WSL 而不是虚拟机?
-
性能更优:相比虚拟机,WSL 的启动速度快,占用资源少。
-
无缝切换:可以在 Windows 和 Linux 环境中随时切换。
-
更贴近生产环境:为 Windows 用户提供了接近真实 Linux 的体验。
九、总结
WSL + Docker 是 Windows 用户的完美选择,无需虚拟机或双系统即可体验高效的容器化开发和测试流程。从安装到高效使用 Docker,本文已覆盖了所有关键点,下一步就是动手实践,彻底掌握这项技能!