> 技术文档 > Windows 开发环境部署指南:WSL、Docker Desktop、Podman Desktop 部署顺序与存储路径迁移指南_podman desktop教程

Windows 开发环境部署指南:WSL、Docker Desktop、Podman Desktop 部署顺序与存储路径迁移指南_podman desktop教程


Windows 开发环境部署指南:WSL、Docker Desktop、Podman Desktop 部署顺序与存储路径迁移指南

—— 从系统功能配置到组件协同的全流程前置规划

一、前言:为什么需要预迁移存储路径?

在 Windows 系统中搭建开发环境时,WSL、Docker 和 Podman 等工具默认将数据存储在 C 盘,长期使用会导致:

  • C 盘空间不足影响系统性能
  • 数据分散难以管理
  • 后期迁移大文件耗时耗力

通过预迁移存储路径到其他分区(如 D 盘等空闲分区),可实现:

  • 新安装组件直接写入目标路径,零数据迁移成本
  • 统一管理开发数据,便于备份与空间规划
  • 避免因 C 盘满导致的工具运行异常

二、系统核心功能启用(前置条件)

1. 启用 WSL 2 与虚拟机平台

必选功能(两种方式任选):

  • 图形界面启用
    打开「控制面板→程序→启用或关闭 Windows 功能」,勾选:

    • 适用于 Linux 的 Windows 子系统(WSL 基础功能)
    • 虚拟机平台(WSL 2 必需,支持 Linux 以虚拟机形式运行)
  • 命令行启用(管理员权限):

    powershell

    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestartdism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestartwsl --set-default-version 2 # 设置WSL 2为默认版本
2. 关闭 Hyper-V(可选,若仅用 WSL 2)

若无需使用 Hyper-V 虚拟机,建议关闭以避免冲突:

powershell

dism.exe /online /disable-feature /featurename:Microsoft-Hyper-V /all /norestart
3. 功能验证

powershell

wsl --status # 确认WSL 2状态systeminfo | findstr \"虚拟机\" # 验证虚拟化支持

 

三、WSL 存储路径预迁移(先于发行版安装)

【安全有效新方案】WSL 默认路径迁移实战:通过 PowerShell 符号链接实现自动重定向-CSDN博客

1. 迁移原理

通过符号链接将 WSL 默认存储路径C:\\Users\\\\AppData\\Local\\wsl重定向到目标分区(如 D:\\wsl),后续安装的发行版将自动存储到新路径。

2. 操作流程(管理员权限)
  1. 关闭 WSL 服务

    powershell

    wsl --shutdown
  2. 创建符号链接

    powershell

    $targetPath = \"D:\\wsl\" # 目标路径可自定义New-Item -ItemType SymbolicLink -Path \"C:\\Users\\love\\AppData\\Local\\wsl\" -Target $targetPath
  3. 验证链接有效性

    powershell

    echo \"测试文件\" > \"D:\\wsl\\test.txt\" # 在目标路径创建文件# 检查C盘原路径是否同步显示test.txt
  4. 安装 WSL 默认发行版

    powershell

    wsl --install # 自动安装Ubuntu等默认发行版

 

四、Docker Desktop 数据路径预迁移

【笔记】 Docker目录迁移脚本-CSDN博客

Docker 目录迁移脚本【Windows Junction 类型链接】-CSDN博客 

1. 迁移策略(双路径迁移)
  • 配置目录C:\\Users\\\\.docker → 目标分区(如 D:\\docker\\config)
  • 镜像目录C:\\Users\\\\AppData\\Local\\Docker → 目标分区(如 D:\\docker\\data)
2. 操作步骤(管理员权限)
  1. 创建目标目录

    powershell

    New-Item -Path \"D:\\docker\\config\" -ItemType Directory -ForceNew-Item -Path \"D:\\docker\\data\" -ItemType Directory -Force
  2. 删除原目录并建立符号链接

    powershell

    Remove-Item \"C:\\Users\\love\\.docker\" -Recurse -ForceRemove-Item \"C:\\Users\\love\\AppData\\Local\\Docker\" -Recurse -ForceNew-Item -ItemType SymbolicLink -Path \"C:\\Users\\love\\.docker\" -Target \"D:\\docker\\config\"New-Item -ItemType SymbolicLink -Path \"C:\\Users\\love\\AppData\\Local\\Docker\" -Target \"D:\\docker\\data\"
  3. 安装 Docker Desktop 并验证

    • 安装完成后,启动 Docker Desktop
    • 验证镜像存储路径:

      powershell

      docker info | Select-String \"Docker Root Dir\" # 应显示D:\\docker\\datadocker run hello-world # 测试容器运行

五、Podman Desktop 数据路径预迁移

Podman Desktop:现代轻量容器管理利器(Podman与Docker)-CSDN博客

1. 关键路径重定向
  • 机器与镜像存储C:\\Users\\\\.local\\share\\podman → 目标分区(如 D:\\podman)
  • 配置文件修改:指定新存储路径
2. 操作步骤(管理员权限)
  1. 创建目标目录并修改配置

    powershell

    New-Item -Path \"D:\\podman\" -ItemType Directory -Force# 修改配置文件(若不存在则创建)$configPath = \"C:\\Users\\love\\.config\\containers\\containers.conf\"if (-not (Test-Path $configPath)) { New-Item -Path $configPath -ItemType File -Force}Add-Content -Path $configPath -Value \"graphroot = \\\"D:\\podman\\\"\"
  2. 建立符号链接

    powershell

    Remove-Item \"C:\\Users\\love\\.local\\share\\podman\" -Recurse -ForceNew-Item -ItemType SymbolicLink -Path \"C:\\Users\\love\\.local\\share\\podman\" -Target \"D:\\podman\"
  3. 安装 Podman Desktop 并验证

    • 安装完成后,启动 Podman Desktop
    • 验证存储路径:

      powershell

      podman info | Select-String \"graph\" # 应显示D:\\podmanpodman machine list # 确认podman-machine-default路径在WSL迁移目录下

 

六、部署顺序依赖关系图

七、验证要点与协同配置

1. 单组件验证
组件 验证命令 预期结果 WSL `df -h grep ext4` 磁盘路径包含 D:\\wsl Docker docker info Docker Root Dir 指向 D:\\docker\\data Podman podman info graph 路径指向 D:\\podman
2. 协同配置(WSL 中使用 Docker)

在 WSL 中执行:

bash

echo \'export DOCKER_HOST=tcp://localhost:2375\' >> ~/.bashrcsource ~/.bashrcdocker run hello-world # 通过Docker Desktop后端运行

八、注意事项与最佳实践

  1. 权限要求:所有符号链接需以管理员身份创建,避免 \"Access is denied\" 错误
  2. 路径固定:迁移后禁止修改目标路径,否则需重新创建全量链接
  3. 安装顺序:严格遵循「系统功能→WSL→Docker→Podman」的部署顺序,避免数据碎片化
  4. 数据备份:预迁移前建议备份原目录(如wsl_backup),防止操作失误

九、总结

通过预迁移 WSL、Docker 和 Podman 的存储路径,可在 Windows 开发环境部署初期即实现:

  • C 盘空间合理释放,系统性能优化
  • 开发数据集中管理,便于维护与扩展
  • 各组件协同工作正常,开发流程无缝衔接
  • Windows 的便捷 + Linux 的开发环境集成

此部署指南适用于新环境搭建或旧环境重构,建议在安装开发工具前优先执行,一劳永逸解决存储路径问题。