- Dockerfile: Ubuntu + Python + Node + Go + Rust + MySQL + Redis - 离线安装包下载脚本(国内镜像源) - 技术规格说明书 SPECS.md - 代码审查报告 REVIEW-REPORT.md
52 lines
1.8 KiB
PowerShell
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
|