大模型开发环境优化实践:Docker + WSL Ubuntu 从 C 盘迁移到 D 盘
大模型开发环境优化实践Docker WSL Ubuntu 从 C 盘迁移到 D 盘最近在学习大模型应用开发过程中连续使用了 LLaMA-Factory、Qwen、本地推理、FastAPI、Redis、Docker 等工具发现 C 盘空间快速下降。排查后发现真正占用空间的并不是模型而是隐藏在系统盘中的WSL Ubuntu 环境和 Docker 数据。最终通过迁移 Docker Desktop 和 WSL Ubuntu将开发环境整体迁移到 D 盘释放大量 C 盘空间。一、问题背景为什么模型放 D 盘C 盘还是爆了最开始我的目录规划D盘 ├── models │ └── Qwen2.5-0.5B │ └── projects模型和数据确实都放到了 D 盘。但是 C 盘仍然持续减少。最后排查发现占用来源大小Docker Desktop 数据约15GBWSL Ubuntu 虚拟磁盘约13GBConda环境约6GBpip缓存约3GBWindows页面文件约16GB真正的问题WSL 和 Docker 默认都会把数据存储在 C 盘。二、为什么会占 C 盘1. WSL Ubuntu 并不是普通文件夹很多人第一次使用 WSL 会误认为Ubuntu 就是一个安装目录。实际上WSL2 使用的是虚拟磁盘ext4.vhdx默认位置C:\Users\用户名\AppData\Local\Packages里面保存Ubuntu ├── miniconda3 ├── qwen_api ├── LLaMA-Factory ├── Python环境 ├── pip缓存 └── ~/.cache所以即使模型D:\models\Qwen2.5-0.5B但是Python环境和项目仍然可能占用 C 盘。2. Docker Desktop 同理Docker 默认保存C:\Users\用户名\AppData\Local\Docker里面包含images containers volumes build cache尤其频繁执行docker compose build --no-cache会产生大量镜像层缓存。三、迁移目标迁移完成后的结构D: ├── DockerData │ └── DockerDesktopWSL │ ├── WSL │ └── Ubuntu │ └── ext4.vhdx │ └── AI ├── models ├── datasets └── projects以后Docker 镜像Ubuntu系统Conda环境Python依赖大模型项目全部主要消耗 D 盘。四、迁移 Docker Desktop1. 修改 Docker 数据位置打开Docker Desktop → Settings → Resources → Advanced修改Disk image location例如D:\DockerData\DockerDesktopWSL点击Apply Restart2. 验证 Docker迁移完成后查看镜像docker images查看容器docker ps -a确认原来的redisqwen_api其他镜像仍然存在。五、迁移 WSL Ubuntu1. 查看当前 WSLPowerShellwsl -l -v迁移前NAME STATE Ubuntu Running docker-desktop Running2. 停止 WSL关闭 Docker Desktop 后执行wsl --shutdown作用让 WSL 完全停止释放虚拟磁盘。3. 导出 Ubuntu 备份最重要创建备份目录mkdir D:\WSL_Backup导出wsl --export Ubuntu D:\WSL_Backup\ubuntu.tar等待完成。例如ubuntu.tar 12.8GB为什么必须备份因为 WSL 不是普通文件夹。不能❌ 直接移动 ext4.vhdx❌ 直接复制 Ubuntu 文件夹正确方式Ubuntu | | export ↓ ubuntu.tar | | import ↓ D盘新的Ubuntu4. 导入 Ubuntu 到 D 盘创建目录mkdir D:\WSL\Ubuntu执行wsl --import Ubuntu D:\WSL\Ubuntu D:\WSL_Backup\ubuntu.tar --version 2成功操作成功完成六、迁移后的第一个坑默认用户丢失问题现象第一次进入wsl可能进入rootDESKTOP而不是ubuntuDESKTOP原因wsl --export 不会保存默认登录用户。七、恢复 Ubuntu 用户进入 rootwsl -d Ubuntu -u root查看用户cat /etc/passwd | grep bash确认ubuntu:x:1000:1000:/home/ubuntu:/bin/bash编辑nano /etc/wsl.conf添加[user] defaultubuntu保存退出。然后必须执行wsl --shutdown重新加载配置。八、为什么以前直接 wsl现在需要 wsl -d Ubuntu迁移后发现以前wsl可以直接进入 Ubuntu。后来需要wsl -d Ubuntu原因WSL 有一个默认发行版。查看wsl -l -v可能发现docker-desktop默认 Ubuntu说明 Docker 抢占了默认入口。恢复wsl --set-default Ubuntu再次查看wsl -l -v变成* Ubuntu docker-desktop之后wsl即可直接进入 Ubuntu。九、迁移完成后的验证用户验证whoami输出ubuntuConda验证conda env list看到base llamafactory /home/ubuntu/miniconda3/envs/llamafactory项目验证cd ~/qwen_api ls确认docker-compose.yml app.py requirements.txtLLaMA-Factory验证ls ~/llamafactory确认代码存在。十、迁移后的效果迁移前C盘 Docker 15GB WSL 13GB Conda 6GB Cache 3GBC盘持续下降。迁移后D盘 DockerData WSL Ubuntu AI Projects ModelsC盘释放大量空间。十一、后续大模型开发建议建议统一规划D:\AI ├── models │ ├── datasets │ ├── projects │ ├── cache │ └── docker避免以后vLLMMilvusQdrantRAG数据库多模型环境再次占满系统盘。十二、关键命令总结收藏版Docker迁移Docker DesktopSettings → Resources → Advanced → Disk image location修改到D:\DockerDataWSL备份wsl --export Ubuntu D:\WSL_Backup\ubuntu.tarWSL导入wsl --import Ubuntu D:\WSL\Ubuntu D:\WSL_Backup\ubuntu.tar --version 2设置默认用户Linuxnano /etc/wsl.conf内容[user] defaultubuntu刷新配置wsl --shutdown设置默认发行版wsl --set-default Ubuntu总结这次迁移解决的不是简单的“移动几个文件”而是重新规划了整个大模型开发环境Docker负责容器运行环境WSL负责Linux开发环境模型和数据独立存储。迁移完成后大模型开发环境从C盘系统盘 隐藏缓存 虚拟磁盘变成D盘AI工作空间 独立Docker数据 独立WSL环境这也是后续继续学习AgentRAGvLLM多模型部署更加稳定的基础环境。