在Windows(WSL)中如何迁移Docker
在Windows 10中Docker是默认安装到WSL中的,而安装到WSL中的任意分发版都是默认放在C盘中的。这样会让我们的C盘资源极度紧张,而且也限制了Docker的镜像数量。
从运维角度来说,我们清楚系统盘的重要性,原则上是将应用数据和文档都避开C盘,这样一来能增加C盘的稳定性(减少IO操作,降低磁盘故障风险),还能保证在重装系统后不会导致数据和文档的丢失。因此将Docker迁移出C盘就显得至关重要。
迁移步骤¶
1. 确认Docker是否安装到WSL¶
查看Docker桌面的“设置》Resources》ADVANCED
” ,如果如下图所示则证明是Docker是安装在WSL中:
中如何迁移Docker/查看Docker是否安装在WSL中.png)
2. 以管理员身份运行PowerShell¶
中如何迁移Docker/以管理员身份运行Powershell.png)
3. 执行迁移命令¶
假设我有一个临时目录“D:\tmp
”用来存放临时文件,同时想将Docker迁移到“D:\Program Files\docker\
”目录下:
-
查看Docker安装到WSL的分发版,执行命令:
wsl --list --all
- 从上述命令中我们可以看到Docker安装了两个分发版:
docker-desktop-data和docker-desktop
- 从上述命令中我们可以看到Docker安装了两个分发版:
-
导出Docker到临时目录“
D:\tmp
”下,执行如下命令:wsl --export docker-desktop D:\\tmp\\wsl-docker-desktop.tar
wsl --export docker-desktop-data D:\tmp\wsl-docker-desktop-data.tar
-
退出原先的Docker分发版,执行如下命令:
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data
-
重新导入Docker并修改到“
D:\Program Files\docker\
”目录下,执行如下命令:wsl --import docker-desktop 'D:\Program Files\docker\docker-desktop' D:\tmp\wsl-docker-desktop.tar --version 2
wsl --import docker-desktop-data 'D:\Program Files\docker\docker-desktop-data' D:\tmp\wsl-docker-desktop-data.tar --version 2
4. 验证迁移结果¶
-
打开Docker桌面,看是否能够正常启动,数据是否丢失
-
查看迁移后的目录是否有内容:
- 可以看到,这时候在“
D:\Program Files\docker\
”目录下已经有数据了,感兴趣的也可以自己点进去看看。
- 可以看到,这时候在“