Windows docker desktop 基于HyperV的镜像文件迁移到D盘

Docker desktop的HyperV镜像文件,默认是在C盘下

bash 复制代码
C:\ProgramData\DockerDesktop\vm-data\DockerDesktop.vhdx

如果部署的软件较多,文件较大,或者产生日志,甚至数据等,这将会使此文件越来越大,容易导致C盘空间不足,因此需要先迁移到其它盘,例如D盘。

网上其它例子是直接在Docker中调整Settings->Resources->Advanced,但是重开还是会恢复回C盘,依然无效。

难道没有方法了吗?最后找到了最终解决方案,就是修改Docker的配置文件settings.json,注意新旧版本有区别

旧版本DockerDesktop

bash 复制代码
打开 %APPDATA%\Docker\settings.json

默认路径

"MobyVhdPathOverride":"C:\Users\Public\Documents\Hyper-V\New folder\DockerDesktop.vhdx"

将其修改新的D盘路径
"MobyVhdPathOverride":"D:\Docker\DockerDesktop\DockerDesktop.vhdx"

然后退出并重新打开Docker

新版本DockerDesktop

bash 复制代码
打开 %APPDATA%\Docker\settings.json

默认路径

 "dataFolder": "C:\\ProgramData\\DockerDesktop\\vm-data",

将其修改新的D盘路径
 "dataFolder": "D:\\Docker\\DockerDesktop",

然后退出并重新打开Docker

那么Docker 会在自动恢复并创建新的 VHD 在 D盘位置了

这时候的Docker会提示在恢复模式,就是正在生成了,稍等片刻即可完成。

参考文章:

https://www.jianshu.com/p/3a3d810be203

相关推荐
TrisighT29 分钟前
Electron 跑鸿蒙 PC 上,这 4 个 API 的行为跟 Windows 完全不一样——但文档一行都没写
windows·electron·harmonyos
辉的技术笔记40 分钟前
Dify 卡在入口?Gunicorn + Nginx 的正确打开方式
docker
辉的技术笔记21 小时前
Dify 自部署为什么跑不动?6 层瓶颈诊断法教你定位
docker
程序员老赵2 天前
Docker 部署 Redmine:老牌开源项目管理部署实测记录
docker·开源·团队管理
程序员老赵2 天前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
lichenyang4534 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4534 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4534 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4534 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
Patrick_Wilson9 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js