写在前面
这几天做一些 docker 方面的实践。在windows上,默认 wsl2 是在 C 盘,而 docker 自然默认也在 C 盘。旧版本的 docker-desktop 似乎是可以直接迁移 image 存储的目录,但是新版本找不到。
随着镜像的增加,C 盘很快就满了,直接影响不少程序的正常使用。类似的,新的镜像一直无法 pull 或者 build。于是有不同的操作。
删除所有镜像
如果已有镜像都没啥用,希望一次清空,那么可以用以下操作。
再次提醒,此举会删除所有镜像!
- 关闭 Docker Desktop
- 打开 PowerShell,运行下述命令
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data
迁移所有镜像到其他目录
最好的办法,当然是直接在别的硬盘做“软连接”,从而不占用 C 盘存储。
- 关闭 Docker Desktop
- 剪切文件到别的位置,如 E 盘,打开 PowerShell (注意到 CMD 会失败,查了下原因或许是 CMD 是 DOS 年代的产物,不支持当前的跨分区或者跨文件系统格式操作)
move C:\Users\CJ\AppData\Local\Docker E:\Docker
当然,可以手动剪切
![](https://img.haomeiwen.com/i10518391/4536bb8e98ffd74a.png)
![](https://img.haomeiwen.com/i10518391/30c73cfc9d0cab0e.png)
- 打开 CMD 或者 PowerShell,进行软连接
如果是 CMD
mklink /J C:\Users\CJ\AppData\Local\Docker E:\Docker
如果是 PowerShell,参考命令....我就不调试了,毕竟我是个怀旧的人,还是喜欢 CMD
似乎还需要管理员权限
New-Item -Path C:\Users\CJ\AppData\Local\Docker -ItemType SymbolicLink -Value E:\Docker
写在最后
事实上,有了软连接,其实有很多事情可以做。
网友评论