windows家庭版wsl下docker安装踩坑以及迁移出C盘攻略 背景项目使用go来开发项目需要docker。但是我的windows是家庭版不仅没有hyper-v而且安装完docker后只能使用wsl2虽然说wsl2性能传说比较好但是我的c盘容量实在台下所以wsl更加适合我能够自定义镜像存储位置先安装docker第一步先确定windows虚拟化是否开启。任务管理器-性能-CPU如图位置第二步开启hyper-v服务因为我的windows版本是家庭版的原因所以这个功能默认是没有的我需要自己手动去增加这个功能。创建一个hyper-v.bat文件复制一下代码进去用管理员身份打开等待安装完成输入Y自动重启电脑即可。完成安装后就可以使用了点击确定即可。pushd %~dp0 dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum hyper-v.txt for /f %%i in (findstr /i . hyper-v.txt 2^nul) do dism /online /norestart /add-package:%SystemRoot%\servicing\Packages\%%i del hyper-v.txt Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL第三步将系统伪装成专业版创建一个change.bat文件复制一下代码进去用管理员身份打开REG ADD HKEY_LOCAL_MACHINE\software\Microsoft\Windows NT\CurrentVersion /v EditionId /T REG_EXPAND_SZ /d Professional /F pause用同样的方法编辑Windows CurrentBuild设置19044提示的最低版本号 和CurrentBuildNumber设置。19044第四步到了这一步如果直接安装docker会报错Containers Windows Feature is not available意思是容器窗口功能不可用新建一个containers.bat内容如下pushd %~dp0 dir /b %SystemRoot%\servicing\Packages\*containers*.mum containers.txt for /f %%i in (findstr /i . containers.txt 2^nul) do dism /online /norestart /add-package:%SystemRoot%\servicing\Packages\%%i del containers.txt Dism /online /enable-feature /featurename:Containers -All /LimitAccess /ALL第五步这个后就可以直接安装docker for windows了自己在官网下载。这个版本是基于wsl安装所以家庭版也可以在advance里面修改镜像存储目录。tips:如果没有指定docker安装路径的需求那么直接安装就可以了默认是安装在c盘如果有需求安装到其他路径的话有两个方案①比如我安装在d盘的docker所以我在d盘先新建好docker文件夹以及docker/data文件夹然后用管理员身份打开cmd执行start /w Docker Desktop Installer.exe install -accept-license --installation-dirD:\Docker --wsl-default-data-rootD:\Docker\data --windows-containers-default-data-rootD:\\Docker②正常安装之后再按照迁移docker教程走迁移docker选用因为docker比较强势默认只能安装在c盘无奈我的c盘又太小度娘了一圈将一个行之有效的方法贴上来。第一步关闭服务右键结束进程windows管理工具-hyper-v管理器第二步移动文件并且修改路径将 C:\Program Files\Docker 和 C:\ProgramData\DockerDesktop 剪切到你想放的磁盘下我的是D:\go旧版本的 docker的根镜像存放目录会在C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks删除源文件夹C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks接着分别创建符号链接省出C盘的空间不说配置文件什么的都不用动cmd /c mklink /D C:\Program Files\Docker D:\go\Dockercmd /c mklink /D C:\ProgramData\DockerDesktop D:\go\DockerDesktopcmd /c mklink C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks D:\go\DockerDesktop\vm-data\hyper-v迁移完成打开小鲸鱼如果出现问题Net stop com.docker.service Net start com.docker.service卸载如果是创建符号链接法迁移路径的话卸载的时候在正常删除的同时。需要手动删除我们创建的三个符号链接。否则我的情况会出现下一次正常安装docker后想卸载的时候会一直卡在removing vm and image。如果docker一直卸载不掉有强制卸载法如下1.创建delete.ps1文件写入以下代码$ErrorActionPreference SilentlyContinue kill -force -processname Docker for Windows, com.docker.db, vpnkit, com.docker.proxy, com.docker.9pdb, moby-diag-dl, dockerd try { ./MobyLinux.ps1 -Destroy } Catch {} $service Get-WmiObject -Class Win32_Service -Filter Namecom.docker.service if ($service) { $service.StopService() } if ($service) { $service.Delete() } Start-Sleep -s 5 Remove-Item -Recurse -Force ~/AppData/Local/Docker Remove-Item -Recurse -Force ~/AppData/Roaming/Docker if (Test-Path C:\ProgramData\Docker) { takeown.exe /F C:\ProgramData\Docker /R /A /D Y } if (Test-Path C:\ProgramData\Docker) { icacls C:\ProgramData\Docker\ /T /C /grant Administrators:F } Remove-Item -Recurse -Force C:\ProgramData\Docker Remove-Item -Recurse -Force C:\Program Files\Docker Remove-Item -Recurse -Force C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Docker Remove-Item -Force C:\Users\Public\Desktop\Docker for Windows.lnk Get-ChildItem HKLM:\software\microsoft\windows\currentversion\uninstall | % {Get-ItemProperty $_.PSPath} | ? { $_.DisplayName -eq Docker } | Remove-Item -Recurse -Force Get-ChildItem HKLM:\software\classes\installer\products | % {Get-ItemProperty $_.pspath} | ? { $_.ProductName -eq Docker } | Remove-Item -Recurse -Force Get-Item HKLM:\software\Docker Inc. | Remove-Item -Recurse -Force Get-ItemProperty HKCU:\software\microsoft\windows\currentversion\Run -name Docker for Windows | Remove-Item -Recurse -Force #Get-ItemProperty HKCU:\software\microsoft\windows\currentversion\UFH\SHC | ForEach-Object {Get-ItemProperty $_.PSPath} | Where-Object { $_.ToString().Contains(Docker for Windows.exe) } | Remove-Item -Recurse -Force $_.PSPath #Get-ItemProperty HKCU:\software\microsoft\windows\currentversion\UFH\SHC | Where-Object { $(Get-ItemPropertyValue $_) -Contains Docker }以管理员身份打开powershellcd 文件路径 .\delete.ps1再用360清理一下垃圾就完全卸载干净了。

相关新闻

最新新闻

Cap 开源录屏工具指南:5 分钟录完,停止即得免费分享链接

Cap 开源录屏工具指南:5 分钟录完,停止即得免费分享链接

Cap 开源录屏工具指南:5 分钟录完,停止即得免费分享链接 【免费下载链接】Cap Open source Loom alternative. Beautiful, shareable screen recordings. 项目地址: https://gitcode.com/GitHub_Trending/cap1/Cap 需要演示一个 bug 复现&#xf…

2026/9/6 18:57:10
Bulma `.field` 表单容器详解:`.control` 职责分离与 field 布局体系的演进

Bulma `.field` 表单容器详解:`.control` 职责分离与 field 布局体系的演进

Bulma .field 表单容器详解:.control 职责分离与 field 布局体系的演进 【免费下载链接】bulma Modern CSS framework based on Flexbox 项目地址: https://gitcode.com/GitHub_Trending/bu/bulma Bulma 在 0.6.0 版本中引入 .field 元素,将表单控…

2026/9/6 18:57:10
纵横公路软件实操指南:从新建项目到报表导出的完整流程

纵横公路软件实操指南:从新建项目到报表导出的完整流程

简介:《纵横公路软件操作手册》是一本面向公路建设领域造价人员的实用指南,系统讲解纵横公路造价软件从项目建立到报表输出的完整操作流程。内容涵盖新建建设项目与造价文件、按标准项目表搭建概预算结构、套用定额计算建筑安装工程费、录入工料机预算单…

2026/9/6 18:57:10
5G核心网与IMS国际长途语音打通全流程解析

5G核心网与IMS国际长途语音打通全流程解析

简介:一份系统讲解5G国际长途拨打原理的原创技术文档,面向通信工程师、5G核心网规划人员及相关专业学生。文档完整覆盖漫游协议、安全机制、语音服务与紧急呼叫四个层面,并以5GS与EPS互通的漫游架构为主线:先说明国际漫游产生的背…

2026/9/6 18:57:10
5G网络国际长途呼叫:VoNR/IMS信令流程与故障排查实战

5G网络国际长途呼叫:VoNR/IMS信令流程与故障排查实战

简介:5G漫游技术文档详述了如何在国际漫游中打通长途电话,面向通信工程师、核心网运维人员及5G技术学习者,系统梳理从漫游协议、网络架构到语音与紧急服务的完整链路。资源为单个docx文件,大小291KB,内容精炼但覆盖全面…

2026/9/6 18:57:10
FPGA交通灯控制器设计:从状态机到上板调试全解析

FPGA交通灯控制器设计:从状态机到上板调试全解析

简介:基于FPGA的交通灯控制器设计PDF,面向电子工程、嵌入式及FPGA初学者,讲解如何用VHDL在QuartusⅡ中实现四方向红黄绿交通灯控制,包含分频器、译码器、位选器等模块设计,可解决交通信号时序控制与紧急状态处理问题。…

2026/9/6 18:52:09