记一次win 10 下wsl2 机制 的docker 镜像文件转移过程

解决了“解决使用win10 docker 后C盘存储过大的问题“的问题

我使用的win10 在开启了wsl2之后,使用docker-desktop用“use the WSL2 based engine” 选项, 使用起来如丝般畅滑。但是,,随着各种docker镜像的拉取,对应所占的磁盘空间也越来越多,在网上找了一个项目,并拉去了所需的镜像后,c盘几乎被占满,于是经过网上各方搜索,找到了可行的转移docker镜像的方法,记录如下。

环境

win 10 并开启linux子系统
docker desktop community 2.5.0.1(49550)

wsl下的虚拟机如下如所示,

NAME STATE VERSION

  • Ubuntu-18.04 Stopped 2
  • docker-desktop-data Stopped 2
  • docker-desktop Stopped 2
    在这里插入图片描述

原问题

c盘剩余空间不足,使用SpaceSniffer工具查看后发现,

C:\Users\xxxxx\AppData\Local\Docker\wsl\data\ext4.vhdx
C:\Users\xxxxx\AppData\Local\Docker\wsl\distro\ext4.vhdx

上述两个文件占据了大量的磁盘空间,其中,data\ext4.vhdx是docker-desktop-data镜像所使用的空间

问题解决

使用wsl的命令即可
1、先关闭所有wsl下的虚拟机

wsl --shutdown

2、导出wsl子系统镜像:

wsl --export docker-desktop docker-desktop.tar
wsl --export docker-desktop-data docker-desktop-data.tar

其中,导出docker-desktop-data的操作可能会非常耗时,我未导出前在c盘所占的空间为19GB左右,导出时间超过了半个小时(过程中CPU使用率不搞,D盘使用率100%),需要耐心等待。

3、删除现有的wsl子系统:

wsl --unregister docker-desktop
wsl --unregister docker-desktop-data

4、重新创建wsl子系统:

wsl --import docker-desktop d:\你想要存放的地址 docker-desktop.tar
wsl --import docker-desktop-data d:\你想要存放的地址 docker-desktop-data.tar

其中,导入docker-desktop-data的时候也比较耗时,我也用了半个小时左右。

上述操作参考了Docker Desktop(WSL2)修改镜像存储位置

5、重启wsl

正常情况经过上面的操作之后,wsl以及docker就可以正常使用

但是新问题产生了。


新问题

我只转移了docker的两个镜像的位置,并没有转移ubuntu 18.04 的镜像位置,但是,经过实际操作,发现我的电脑上的终端中没有ubuntu的选项了,骂骂咧咧的多次尝试,发现还是不行。

新问题的解决

尝试了两种方法,

  • 重启电脑 -> 无效,仍然没有ubuntu,wsl命令仍然无反应。
  • 在window的“启用或关闭windows功能”里把wsl关了,然后重启,然后在把wsl开启,然后重启,然后就正常了。

6、正常使用即可。

结论

1、使用一系列的命令转移docker使用的镜像位置
2、在“启用或关闭windows功能”里把wsl关掉,重启,再打开,就可以了。

  • 2
    点赞
  • 8
    收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论 1

打赏作者

这是怎么肥事?

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值