当前位置: 首页 > news >正文

Windows 开发环境部署指南:WSL、Docker 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 /norestart
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    wsl --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 -Force
    New-Item -Path "D:\docker\data" -ItemType Directory -Force
    
  2. 删除原目录并建立符号链接

    powershell

    Remove-Item "C:\Users\love\.docker" -Recurse -Force
    Remove-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\data
      docker 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 -Force
    New-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:\podman
      podman machine list  # 确认podman-machine-default路径在WSL迁移目录下
      

 

六、部署顺序依赖关系图

七、验证要点与协同配置

1. 单组件验证
组件验证命令预期结果
WSL`df -hgrep ext4`磁盘路径包含 D:\wsl
Dockerdocker infoDocker Root Dir 指向 D:\docker\data
Podmanpodman infograph 路径指向 D:\podman

2. 协同配置(WSL 中使用 Docker)

在 WSL 中执行:

bash

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

八、注意事项与最佳实践

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

九、总结

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

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

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

http://www.lqws.cn/news/579853.html

相关文章:

  • PreparedStatement详解
  • Vue3静态文档资源展示的实现和使用总结
  • 【CS创世SD NAND征文】SD NAND赋能新一代儿童智能玩具
  • js代码04
  • 生信分析之流式数据分析:Flowjo 软件核心功能全解析
  • 《微信生态裂变增长利器:推客小程序架构设计与商业落地》
  • 颠覆传统加密:微算法科技创新LSQb算法,提升量子图像处理速度
  • python | numpy小记(四):理解 NumPy 中的 `np.round`:银行家舍入策略
  • BUUCTF在线评测-练习场-WebCTF习题[MRCTF2020]你传你[特殊字符]呢1-flag获取、解析
  • 攻防世界-MISC-red_green
  • 障碍感知 | 基于3D激光雷达的三维膨胀栅格地图构建(附ROS C++仿真)
  • macos 使用 vllm 启动模型
  • 【数据分析】环境数据降维与聚类分析教程:从PCA到可视化
  • OpenCV CUDA模块设备层----计算向量的平方根函数sqrt
  • 【机器人】复现 HOV-SG 机器人导航 | 分层 开放词汇 | 3D 场景图
  • 极海G32R501双向数字电源解决方案 赋能AI服务器及电源应用创新
  • Android中Compose常用组件以及布局使用方法
  • 深入解析TCP:可靠传输的核心机制与实现逻辑
  • 首次使用“非英伟达”芯片!OpenAI租用谷歌TPU,降低推理计算成本
  • 成像光谱遥感技术中的AI革命:ChatGPT在遥感领域中的应用
  • (LeetCode 每日一题) 594. 最长和谐子序列 (哈希表)
  • redis相关内容以及安全知识
  • 开疆智能CCLinkIE转Canopen网关连接UV紫外灯配置案例
  • python包管理工具uv VS pip
  • iOS 接口频繁请求导致流量激增?抓包分析定位与修复全流程
  • 人工智能和云计算对金融未来的影响
  • 力扣 hot100 Day30
  • 键盘第一下无反应
  • Armbian 25.5.1 Noble Gnome 开启远程桌面功能
  • CMake中WIN32和CMAKE_HOST_WIN32的使用差异