当前位置: 首页 > 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.dtcms.com/a/262798.html

相关文章:

  • STM32-第一节-新建工程,GPIO,点亮LED,蜂鸣器
  • GC3910S:一款高性能双通道直流电机驱动芯片
  • 【Wireshark】高级过滤技巧精讲
  • Chromium 136 编译指南 Ubuntu篇:Python环境与开发工具配置(五)
  • 解决VSCode打开最近项目后终端shell不正常的问题
  • TCP 滑动窗口实现机制
  • 颠覆传统加密:微算法科技创新LSQb算法,提升量子图像处理速度
  • 芯谷科技--150KHz 3A PWM 降压型 DC/DC 转换器D1507
  • 【原创】【5】【视频二创工具发布】基于视觉模型+FFmpeg+MoviePy实现短视频自动化二次编辑+多赛道
  • UE5 一台电脑+双显示器 配置nDisplay裸眼3D效果
  • 【MCP服务】蓝耘元生代 | 蓝耘MCP平台来袭!DeepSeek MCP服务器玩转大模型集成
  • 【启发式算法】Dynamic A*(D*)算法详细介绍(Python)
  • 直播 APP 开发需要多少成本
  • 数据结构入门-图的基本概念与存储结构
  • 如何在Vue3中正确使用ref和reactive?
  • 洛科威岩棉板打造宁静空间,为业主构筑建筑“静世界”
  • 数据结构与算法分析课设:一元多项式求值
  • 【MySQL】JDBC编程
  • DDL-8-小结
  • 前端开发面试题总结-原生小程序部分
  • LLaMA-Factory支持的Alpaca和ShareGPT格式
  • 插入排序的简单介绍
  • 【算法】动态规划 70: 爬楼梯
  • 函数在球内恒为零的证明
  • 杭州燕壹画室:美术艺考领域新崛起的黑马画室
  • Kotlin空安全与异常处理
  • Apache Seata < 2.3.0 raft反序列化漏洞
  • 使用Dirichlet分布进行随机初始化
  • Hily×亚矩云手机:社交元宇宙的“云端心跳加速器”
  • mysql mvcc