Files
workpod/migrate-docker.ps1
T
lxy feb76081a0 新增: WorkPod 全栈开发环境容器
- Dockerfile: Ubuntu + Python + Node + Go + Rust + MySQL + Redis
- 离线安装包下载脚本(国内镜像源)
- 技术规格说明书 SPECS.md
- 代码审查报告 REVIEW-REPORT.md
2026-03-19 22:30:24 +08:00

52 lines
1.8 KiB
PowerShell

# Docker Desktop 数据迁移到 D 盘脚本
# 以管理员身份运行 PowerShell
Write-Host "=== Docker Desktop 数据迁移脚本 ===" -ForegroundColor Cyan
Write-Host ""
# 1. 停止 Docker Desktop
Write-Host "[1/6] 停止 Docker Desktop..." -ForegroundColor Yellow
Stop-Process -Name "Docker Desktop" -Force -ErrorAction SilentlyContinue
Start-Sleep -Seconds 5
# 2. 停止 WSL
Write-Host "[2/6] 停止 WSL..." -ForegroundColor Yellow
wsl --shutdown
Start-Sleep -Seconds 3
# 3. 创建目标目录
Write-Host "[3/6] 创建目标目录..." -ForegroundColor Yellow
$targetDir = "D:\DockerData"
if (-not (Test-Path $targetDir)) {
New-Item -ItemType Directory -Path $targetDir -Force | Out-Null
}
# 4. 导出 docker-desktop-data
Write-Host "[4/6] 导出 docker-desktop-data (这可能需要几分钟)..." -ForegroundColor Yellow
$exportPath = "$targetDir\docker-desktop-data.tar"
wsl --export docker-desktop-data $exportPath
if (Test-Path $exportPath) {
Write-Host " 导出成功: $exportPath" -ForegroundColor Green
# 5. 注销原有的
Write-Host "[5/6] 注销原有发行版..." -ForegroundColor Yellow
wsl --unregister docker-desktop-data
# 6. 导入到新位置
Write-Host "[6/6] 导入到新位置..." -ForegroundColor Yellow
wsl --import docker-desktop-data "$targetDir\wsl" $exportPath --version 2
# 删除临时文件
Remove-Item $exportPath -Force
Write-Host ""
Write-Host "=== 迁移完成 ===" -ForegroundColor Green
Write-Host "Docker 数据已迁移到: $targetDir" -ForegroundColor Cyan
} else {
Write-Host " 导出失败,请检查 docker-desktop-data 是否存在" -ForegroundColor Red
Write-Host " 运行 'wsl --list -v' 查看所有发行版" -ForegroundColor Yellow
}
Write-Host ""
Write-Host "请手动启动 Docker Desktop 完成迁移" -ForegroundColor Yellow