【Docker】Docker Desktop更换非C盘符(减轻占用率)

Win10中的Docker Desktop调整到其他盘符,由于新版本已经不让修改软连接了,只好另谋策略,最终还是改成功了。
【Docker】Docker Desktop更换非C盘符(减轻占用率)_第1张图片

出现问题

使用软连接修改

【Docker】Docker Desktop更换非C盘符(减轻占用率)_第2张图片

上面代码我们可以科幻的理解一下 幻想破灭

//TODO 用户点击执行安装
if(检查文件夹是否软连接){
	有则,提示为了安全考虑【For security reasons C... cannot be a symlink】
}

解决处理

DockerDesktop 不再支持建立软接调整,为何还要写在这里冗余呢?因为其他软件可以支持这种方式方便参考。

# 利用 mklink 硬链接,注意加 /j ,记得替换用户名
mklink /j "C:\ProgramData\DockerDesktop" "D:\AppData\Docker\ProgramData\DockerDesktop"
mklink /j "C:\Program Files\Docker" "D:\AppData\Docker\Program Files\Docker"
mklink /j "C:\Users\64178\AppData\Local\Docker" "D:\AppData\Docker\Users\【username】\AppData\Local\Docker"

# 另外注意在对应盘创建相应文件夹
mkdir "D:\AppData\Docker\ProgramData\Docker"
mkdir "D:\AppData\Docker\ProgramData\DockerDesktop"
mkdir "D:\AppData\Docker\Program Files\Docker"
mkdir "D:\AppData\Docker\Users\【username】\AppData\Local\Docker"

#删除的联接
rmdir "C:\ProgramData\Docker"
rmdir "C:\ProgramData\DockerDesktop"
rmdir "C:\Program Files\Docker"
rmdir "C:\Users\64178\AppData\Local\Docker" 

最终解决(关注)

思路:修改注册表迁移AppData,这会导致部分软件不可以使用,修改时候多加注意和仔细

win10把AppData目录挪到其他盘的方法,整个AppData目录挪到D盘方法:

  • 打开注册表定位到

win+r 快捷命令:regedit

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
以及
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

修改里面AppData对应的路径到你自定义的地方

  • 把原AppData目录中的所有数据复制过去,最后重启电脑。

  • 可以尝试删除原来盘的AppData目录,部分软件会受影响。

  • 下面是HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
    【Docker】Docker Desktop更换非C盘符(减轻占用率)_第3张图片

下面是HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
【Docker】Docker Desktop更换非C盘符(减轻占用率)_第4张图片
C盘一下减轻了下来,还有1g是一些无法迁移了,没有强求,就保留原始位置
【Docker】Docker Desktop更换非C盘符(减轻占用率)_第5张图片

效果展示

安装以后路径识别到了D盘了
【Docker】Docker Desktop更换非C盘符(减轻占用率)_第6张图片
AppData原本是C盘用户下面一个文件夹,里面数据文件巨多,使用复制方式拷贝过来,成果顺利后在逐步C盘移除
【Docker】Docker Desktop更换非C盘符(减轻占用率)_第7张图片
下面Docker就占用了8g+
【Docker】Docker Desktop更换非C盘符(减轻占用率)_第8张图片

你可能感兴趣的:(通用表单,docker,c语言,容器)