在WSL中安装Docker的两种方法步骤
<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">前言 </a></li><li><a href="#_label1">方法一:Docker Desktop + WSL 2 后端(推荐方案)</a></li><ul class="second_class_ul"><li><a href="#_lab2_1_0">核心优势</a></li><li><a href="#_lab2_1_1">环境准备</a></li><li><a href="#_lab2_1_2">详细安装步骤</a></li><ul class="third_class_ul"><li><a href="#_label3_1_2_0">1. 下载 Docker Desktop</a></li><li><a href="#_label3_1_2_1">2. 安装过程中的关键配置</a></li><li><a href="#_label3_1_2_2">3. 安装后配置</a></li><li><a href="#_label3_1_2_3">4. 验证安装</a></li></ul><li><a href="#_lab2_1_3">故障排除</a></li><ul class="third_class_ul"></ul></ul><li><a href="#_label2">方法二:在 WSL 发行版内直接安装 Docker Engine</a></li><ul class="second_class_ul"><li><a href="#_lab2_2_4">适用场景</a></li><ul class="third_class_ul"></ul><li><a href="#_lab2_2_5">Ubuntu/Debian 发行版安装步骤</a></li><ul class="third_class_ul"><li><a href="#_label3_2_5_4">1. 更新系统并安装依赖</a></li><li><a href="#_label3_2_5_5">2. 添加 Docker 官方仓库</a></li><li><a href="#_label3_2_5_6">3. 安装 Docker Engine</a></li><li><a href="#_label3_2_5_7">4. 配置用户权限和服务</a></li></ul><li><a href="#_lab2_2_6">针对 WSL 的特殊优化</a></li><ul class="third_class_ul"><li><a href="#_label3_2_6_8">1. 配置 Docker 守护进程启动选项</a></li><li><a href="#_label3_2_6_9">2. 设置 Docker 服务自动启动</a></li></ul></ul><li><a href="#_label3">方案对比与选择建议</a></li><ul class="second_class_ul"><li><a href="#_lab2_3_7">选择建议</a></li><ul class="third_class_ul"></ul></ul><li><a href="#_label4">最佳实践与优化技巧</a></li><ul class="second_class_ul"><li><a href="#_lab2_4_8">1. 磁盘空间管理</a></li><ul class="third_class_ul"></ul><li><a href="#_lab2_4_9">2. 项目文件存储位置</a></li><ul class="third_class_ul"></ul><li><a href="#_lab2_4_10">3. 开发环境配置</a></li><ul class="third_class_ul"></ul></ul><li><a href="#_label5">结语</a></li><ul class="second_class_ul"></ul></ul></div><p class="maodian"><a name="_label0"></a></p><h2>前言 </h2><blockquote><p>为现代开发环境打造高效的容器化工作流</p></blockquote>
<p>作为现代开发者的核心工具,Docker 与 WSL 的结合为 Windows 用户提供了接近原生 Linux 的开发体验。本文将详细介绍两种在 WSL 中安装 Docker 的方法,帮助你选择最适合自己需求的方案。</p>
<p class="maodian"><a name="_label1"></a></p><h2>方法一:Docker Desktop + WSL 2 后端(推荐方案)</h2>
<p>这是目前官方推荐且最高效的安装方式,充分利用了 WSL 2 的架构优势。</p>
<p class="maodian"><a name="_lab2_1_0"></a></p><h3>核心优势</h3>
<ul><li><strong>卓越性能</strong>:基于 WSL 2 的完整系统调用兼容性,文件 I/O 性能大幅提升</li><li><strong>无缝集成</strong>:单一 Docker 守护进程同时服务于 Windows 和 WSL 环境</li><li><strong>简化管理</strong>:通过 Docker Desktop 图形界面统一管理容器、镜像和设置</li><li><strong>跨环境支持</strong>:在 WSL 终端和 Windows PowerShell 中均可使用 Docker 命令</li></ul>
<p class="maodian"><a name="_lab2_1_1"></a></p><h3>环境准备</h3>
<p>确保系统满足以下要求:</p>
<ol><li><strong>操作系统</strong>:Windows 10 版本 2004(Build 19041)或更高版本,或 Windows 11</li><li><strong>启用 WSL 2 功能</strong>:以管理员身份运行 PowerShell:</li></ol>
<div class="jb51code"><pre class="brush:ps;"># 一键安装(推荐,适用于最新版 Windows)
wsl --install
# 或手动启用必要功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# 重启后设置 WSL 2 为默认版本
wsl --set-default-version 2
</pre></div>
<p class="maodian"><a name="_lab2_1_2"></a></p><h3>详细安装步骤</h3>
<p class="maodian"><a name="_label3_1_2_0"></a></p><h4>1. 下载 Docker Desktop</h4>
<p>访问 https://www.docker.com/products/docker-desktop/ 下载 Windows 版安装程序。</p>
<p class="maodian"><a name="_label3_1_2_1"></a></p><h4>2. 安装过程中的关键配置</h4>
<p>运行安装程序时,务必勾选 <strong>“Use WSL 2 instead of Hyper-V”</strong> 选项,这是实现高效集成的核心设置。</p>
<p class="maodian"><a name="_label3_1_2_2"></a></p><h4>3. 安装后配置</h4>
<ul><li>安装完成后重启计算机</li><li>首次启动 Docker Desktop 时,进入 Settings → General</li><li>确认 <strong>“Use the WSL 2 based engine”</strong> 选项已启用</li><li>在 Settings → Resources → WSL Integration 中,确保你的 WSL 发行版已开启集成</li></ul>
<p class="maodian"><a name="_label3_1_2_3"></a></p><h4>4. 验证安装</h4>
<p>打开 WSL 发行版(如 Ubuntu),执行以下命令验证:</p>
<div class="jb51code"><pre class="brush:ps;"># 检查版本
docker --version
docker-compose --version
# 运行测试容器
docker run --rm hello-world
# 更全面的系统检查
docker info
</pre></div>
<p class="maodian"><a name="_lab2_1_3"></a></p><h3>故障排除</h3>
<p>如果遇到 WSL 2 集成问题,可尝试以下命令:</p>
<div class="jb51code"><pre class="brush:ps;"># 检查 WSL 状态
wsl --status
# 确保发行版使用 WSL 2
wsl --list --verbose
# 如果版本不对,进行转换
wsl --set-version Ubuntu 2
</pre></div>
<p class="maodian"><a name="_label2"></a></p><h2>方法二:在 WSL 发行版内直接安装 Docker Engine</h2>
<p>这种传统方法将 Docker 直接安装在 WSL 的 Linux 环境中,适合有特殊需求的用户。</p>
<p class="maodian"><a name="_lab2_2_4"></a></p><h3>适用场景</h3>
<ul><li>需要在纯命令行环境下工作</li><li>希望完全控制 Docker 守护进程</li><li>环境限制无法安装 Docker Desktop</li><li>学习 Linux 系统管理的练习环境</li></ul>
<p class="maodian"><a name="_lab2_2_5"></a></p><h3>Ubuntu/Debian 发行版安装步骤</h3>
<p class="maodian"><a name="_label3_2_5_4"></a></p><h4>1. 更新系统并安装依赖</h4>
<div class="jb51code"><pre class="brush:ps;">sudo apt update
sudo apt upgrade -y
# 安装必要工具
sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release -y
</pre></div>
<p class="maodian"><a name="_label3_2_5_5"></a></p><h4>2. 添加 Docker 官方仓库</h4>
<div class="jb51code"><pre class="brush:ps;"># 创建密钥环目录
sudo install -m 0755 -d /etc/apt/keyrings
# 下载并安装 Docker 的 GPG 密钥
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 https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
</pre></div>
<p class="maodian"><a name="_label3_2_5_6"></a></p><h4>3. 安装 Docker Engine</h4>
<div class="jb51code"><pre class="brush:ps;"># 更新仓库信息
sudo apt update
# 安装 Docker
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
</pre></div>
<p class="maodian"><a name="_label3_2_5_7"></a></p><h4>4. 配置用户权限和服务</h4>
<div class="jb51code"><pre class="brush:ps;"># 启动 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
# 将当前用户加入 docker 组
sudo usermod -aG docker $USER
# 重要:重新登录使组权限生效
newgrp docker
# 验证安装
docker run --rm hello-world
</pre></div>
<p class="maodian"><a name="_lab2_2_6"></a></p><h3>针对 WSL 的特殊优化</h3>
<p>在 WSL 环境中直接运行 Docker 时,建议进行以下优化配置:</p>
<p class="maodian"><a name="_label3_2_6_8"></a></p><h4>1. 配置 Docker 守护进程启动选项</h4>
<div class="jb51code"><pre class="brush:ps;"># 编辑 Docker 配置文件
sudo nano /etc/docker/daemon.json
</pre></div>
<p>添加以下内容以优化 WSL 环境下的性能:</p>
<div class="jb51code"><pre class="brush:json;">{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"data-root": "/home/docker-data"
}
</pre></div>
<p class="maodian"><a name="_label3_2_6_9"></a></p><h4>2. 设置 Docker 服务自动启动</h4>
<p>由于 WSL 的特殊性,需要确保 Docker 服务正确启动:</p>
<div class="jb51code"><pre class="brush:ps;"># 创建启动脚本
sudo nano /etc/wsl.conf
</pre></div>
<p>添加以下内容:</p>
<div class="jb51code"><pre class="brush:ps;">
command = "service docker start"
</pre></div>
<p class="maodian"><a name="_label3"></a></p><h2>方案对比与选择建议</h2>
<table><thead><tr><th>特性</th><th>Docker Desktop + WSL 2</th><th>WSL 内直接安装</th></tr></thead><tbody><tr><td><strong>安装难度</strong></td><td>⭐⭐⭐⭐⭐ (非常简单)</td><td>⭐⭐⭐ (需要命令行经验)</td></tr><tr><td><strong>性能表现</strong></td><td>⭐⭐⭐⭐⭐ (最优)</td><td>⭐⭐⭐⭐ (良好)</td></tr><tr><td><strong>资源占用</strong></td><td>⭐⭐⭐⭐ (共享守护进程)</td><td>⭐⭐⭐ (独立守护进程)</td></tr><tr><td><strong>维护成本</strong></td><td>⭐⭐⭐⭐⭐ (自动更新)</td><td>⭐⭐⭐ (手动维护)</td></tr><tr><td><strong>功能完整性</strong></td><td>⭐⭐⭐⭐⭐ (全功能支持)</td><td>⭐⭐⭐⭐ (核心功能)</td></tr><tr><td><strong>学习价值</strong></td><td>⭐⭐⭐ (抽象程度高)</td><td>⭐⭐⭐⭐⭐ (深入理解)</td></tr></tbody></table>
<p class="maodian"><a name="_lab2_3_7"></a></p><h3>选择建议</h3>
<p><strong>选择 Docker Desktop + WSL 2 如果:</strong></p>
<ul><li>你是 Docker 初学者或追求开发效率</li><li>希望获得开箱即用的完整体验</li><li>需要在 Windows 和 WSL 环境间无缝切换</li><li>看重图形化界面和便捷的更新机制</li></ul>
<p><strong>选择 WSL 内直接安装如果:</strong></p>
<ul><li>你是 Linux 系统管理员或 DevOps 工程师</li><li>需要完全控制 Docker 守护进程的配置</li><li>环境限制无法安装 Docker Desktop</li><li>希望通过实践深入学习 Docker 和 Linux 系统管理</li></ul>
<p class="maodian"><a name="_label4"></a></p><h2>最佳实践与优化技巧</h2>
<p class="maodian"><a name="_lab2_4_8"></a></p><h3>1. 磁盘空间管理</h3>
<p>Docker 镜像和容器可能占用大量磁盘空间,定期清理:</p>
<div class="jb51code"><pre class="brush:ps;"># 清理无用资源
docker system prune -a --volumes
# 查看磁盘使用情况
docker system df
</pre></div>
<p class="maodian"><a name="_lab2_4_9"></a></p><h3>2. 项目文件存储位置</h3>
<p>将项目文件存储在 WSL 文件系统内(如 <code>/home/username/projects</code>)而非 Windows 文件系统(如 <code>/mnt/c/</code>),以获得更好的性能。</p>
<p class="maodian"><a name="_lab2_4_10"></a></p><h3>3. 开发环境配置</h3>
<p>使用 Docker Compose 管理多容器应用,创建 <code>docker-compose.yml</code> 文件:</p>
<div class="jb51code"><pre class="brush:json;">version: '3.8'
services:
web:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html
db:
image: postgres:13
environment:
POSTGRES_DB: myapp
POSTGRES_USER: developer
POSTGRES_PASSWORD: password
</pre></div>
<p class="maodian"><a name="_label5"></a></p><h2>结语</h2>
<p>无论选择哪种安装方式,WSL 与 Docker 的组合都为 Windows 开发者提供了强大的开发环境。对于大多数用户,我们强烈推荐<strong>方法一(Docker Desktop + WSL 2)</strong>,它代表了容器化开发在 Windows 平台上的最佳实践。</p>
<p>选择适合自己工作流程的方案,开始享受高效、一致的容器化开发体验吧!</p>
<p>到此这篇关于在WSL中安装Docker的两种方法步骤的文章就介绍到这了,更多相关WSL安装Docker内容请搜索琼殿技术社区以前的文章或继续浏览下面的相关文章希望大家以后多多支持琼殿技术社区!</p>
頁:
[1]