【填坑】在windows系统下安装Docker Desktop后迁移镜像位置
- Docker
- 时间:2022-12-02 18:08
- 5336人已阅读
🔔🔔🔔好消息!好消息!🔔🔔🔔
有需要的朋友👉:联系凯哥
大家好,本文是为了填前两天写的一篇文章《【图文教程】Windows11下安装Docker Desktop》。这篇文章有个坑,当时凯哥忘了写上。今天就把这个坑给填补上。什么坑呢?就是默认安装的镜像是在C盘下的。先来看看看迁移之前C盘情况:
先说明:C盘本来还有一二十个GB的空间,然后运行docker之后,看到C盘磁盘空间刷刷的往下掉,才突然想起安装WSL的时候,有个坑忘了填了。
事情起因:
在windows下安装Docker Desktop之后,默认是安装在C盘的,默认的镜像文件位置是在C盘下的用户名下的\AppData\Local\Docker\wsl
比如凯哥的:
C:\Users\kaigejava\AppData\Local\Docker\wsl
下面有两个文件夹。
我们来看看现在这两个文件夹的大小:
竟然占用了10GB的磁盘空间,在对C盘来说,太浪费了。我们要这两个文件夹迁移到其他盘符中,具体操作如下:
一:将镜像导出
罗列出现在在使用WSL的。在CMD命令窗口执行
wsl --list -v
可以看到有两个docker相关的在运行。我们需要先关闭。
1:在电脑桌面的右下角点击Docker Desktop图标退出当前应用;
2:关闭WSL。执行命令是: wsl --shutdown
3:查看当前WSL运行情况。使用的命令还是:wsl --list -v.我们可以看到 STATE都已经是Stopped的了。如下图:
4:导出镜像并压缩为tar.注意:导出的路径要提前创建好,不然执行命令会报错的。执行命令公式:
wsl --export docker-desktop-data 导出后存放的文件路径
比如凯哥导出后存放文件目录为:E:\dockervolumepath\
所以凯哥导出doceker-desktop、docker-desktop-data及ubuntu命令如下:
wsl --export docker-desktop E:\dockervolumepath\docker-desktop.tar wsl --export Ubuntu E:\dockervolumepath\Ubuntu.tar wsl --export docker-desktop-data E:\dockervolumepath\docker-desktop-data.tar
说明:如果文件比较大的话,导出需要耗费一些时间。耐心等待导出完成即可。
二:注销原来的docker镜像相关的。使用命令公式:
wsl --unregister 需要注销的
套用公式,可以得到凯哥需要注销的命令为:
#注销原来的 Docker 镜像 wsl --unregister docker-desktop-data wsl --unregister Ubuntu wsl --unregister docker-desktop
三条命令都执行完成之后,就注销了。注销之后,我们看看C盘磁盘空间:
发现C盘少了10G左右。
三:我们将导出的Docker镜像在导入到wsl,并设置挂载的文件目录
使用的命令公式为:
wsl --import <分配的名字> <本地保存路径><文件名>
套用公式,我们可以得到凯哥需要导入的三条命令:
wsl --import docker-desktop E:\dockervolumepath E:\dockervolumepath\docker-desktop.tar wsl --import docker-desktop-data E:\dockervolumepath\docker-desktop-data E:\dockervolumepath\docker-desktop-data\docker-desktop-data.tar
需要注意:这两个不能在同一个文件夹中。如果在同一个文件夹中,在执行完一条命令后,接着执行第二条命令会提示:提供的安装位置已经在使用中。 会有如下图的错误
其实这个也很好理解。因为在两个文件在C盘的时候,就是两个不同的文件夹。所以,在这里,我们也使用两个不同文件夹来区分就可以了。
执行完成之后,我们使用wsl --list -v,查看是否成功。如下图:
可以看到,都已经导入成功。接下来,重启Docker Desktop即可。