由于开发项目想在本地安装了一个Docker Desktop,第一次安装时候很顺畅,并且治好了之前 WSL 不能用的问题。但是因为 Docker Desktop 默认C盘安装,导致本来不富裕的C盘,直接没有一点存储了。 最后,我查看资料后,卸载重装到了D盘。这个过程遇到了一堆又一堆问题,因此,记录下来。
Docker Desktop 能否安装到除C盘外的其它盘
这个问题的答案肯定是可以的。
配置软链接
Docker 默认安装路径为C:\Program Files\Docker。使用管理员权限打开命令终端
值得注意的是, C盘的文件夹一定不能先有,而D盘的文件夹要提前创建好。
1  | mklink /j "C:\Program Files\Docker" "D:\Program Files\Docker"  | 
安装Docker Desktop
一定要确保D盘中的目录创建和软链中的对应上,否则安装会报错。同样C盘中的软链的目录都需要不存在,如果存在,则删除掉。
因为少创建了一层目录,导致安装报错,会有提示,按着指引去查看日志就行了。
安装日志目录:D:\Program Files\Docker\Local

如果保证一切正常,不出意外,应该这里就应该可以正常启动Docker Desktop 了,但生活总是事与愿违。它报错了!!!
遇到的问题
/mnt/host/c/Program Files/Docker/Docker/resources/wsl/docker-wsl-cli.iso: no such file or directory
1  | Stdout:  | 
不清楚是我之前装过 Docker Desktop 的原因,还是我卸载的时候,没有卸载彻底,因为在卸载一半时候,我看卡那里不动了,就关闭了卸载窗口。
对于这个问题有人说是 WSL2 自身的bug,需要执行 wsl --shutdown,然后关闭 Docker Desktop Service 服务。然后重启服务。这个我也试了,没有解决。 西北偏北UP|WSL2 bug
最后,我应该是重新安装的 WSL ,然后重启 Docker Desktop 解决了这个问题,wsl --install,但是我不确定。
docker engine stopped
看这篇文章大概就有思路 windows 11系统下打开docker 提示 docker engine stopped
一句话很重要 所有操作使用管理员权限
尝试启动docker daemon
在windows powershell中输入cd "C:\Program Files\Docker\Docker" 跳转到 Docker Desktop 安装路径
运行命令.\DockerCli.exe -SwitchDaemon把docker daemon启动
有没有返回都可以
管理员启动docker desktop
右键管理员运行docker desktop,这个时候这个问题就好了
no matching manifest for windows/amd64 10.0.19045 in the manifest list entries
在拉取镜像的时候,总是拉取不成功,字面意思是没有匹配的windows 镜像,我们不是基于 WSL 不是基于 Ubuntu吗, 很纳闷。突然想起来,我在 Docker Desktop 中有设置过东西,会不会是它原因。

正常来说正确的形式应该是上图的样子,我不清楚 desktop-windows 这个什么东西。

我选择了这个 Use the WSL 2 based engine 选项,才导致 运行的是desktop-windows东西。后边,我取消了这个选项,配置镜像加速重启后,成功重新拉取镜像。

指的提一嘴的是,正常可以用的 Docker Engine 配置长这个样子,如果不是,可以考虑是不是上边说的问题
1  | {  | 



最后,整个过程复盘完成,但是一些中间过程,记不大清,有些遗漏,但问题不大,下次遇到问题解决问题吧!
参考文章
- Docker不装C盘
 - windows10安装docker
 - windows 11系统下打开docker 提示 docker engine stopped
 - Docker Startup problems Switching Docker to use WSL2 containers #6822
 - WLS2 bug
 - Docker Engine Stopped because WSL not updating in Win 11 23H2S #13953
 - Docker desktop writes “docker engine stopped” #139
 - Docker Engine Automatically Getting Stop in Windows 11 Home
 - Docker Startup problems Switching Docker to use WSL2 containers #6822
 - no matching manifest for windows/amd64 10.0.19045 in the manifest list entries
 - 解决在Windows11上新安装的Docker Desktop一直显示”starting the Docker Engine”登录不上去的问题
 


