重装Win11系统后docker镜像恢复

        因为之前使用的windows11 开发人员预览体验计划版本官方停止更新和维护,导致我系统的一些功能出现问题,忍无可忍还是用U盘重装了一下系统,把系统更新成了Win11 最新的版本。更新之前忘了备份Docker 目录下的容器和镜像了,因为我的Docker Desktop 默认安装在C 盘,好在重装系统的时候微软帮我把旧操作系统的文件都备份到了Windows.old 这个目录下,不然的话就真的找不回来了。

        第一步,要先找到重装系统之后,原ext4.vhdx 所在的文件夹。

        可以用everything 或其它全局搜索工具进行查找,我的文件被备份在了"C:\Windows.old\Users\${username}\AppData\Local\Docker" 这个目录下,备份目录的实际位置与你重装之前的文件位置有关。

        第二步,修改Docker desktop的配置项:Disk image location。

        我在重装系统之后,就把wsl 和Docker Desktop都重装了,配置->Resources->Advanced->Disk image location 这个配置项原本的配置应该是在C盘的一个目录下,但我这次想把它放在D盘,因为我D盘空间大一些。

        点击Browse 按钮,选择你想要放置的目录,点击确定后,Docker Desktop v4.26.0 版本会在你选择的目录下自动加上DockerDesktopWSL,这个完整的目录才是你最后备份的镜像文件所要拷贝的目录。

        修改完成后,重启docker desktop。

        第三步,拷贝原镜像磁盘文件。

        重启完成后,可以看到新创建的DockerDesktopWSL 目录,关闭Docker Desktop,将新创建的DockerDesktopWSL 重命名一下,因为我们不再用这个文件夹下的内容了。将原ext4.vhdx 所在文件夹的整体文件夹,即包含data 和distro 目录的wsl 目录,全部拷贝到DockerDesktopWSL 所在的同级目录下。

        因为原镜像和容器可能比较大,拷贝时间较久,请耐心等待。拷贝完成后,将原wsl 目录重命名为DockerDesktopWSL,启动Docker Desktop。启动完成后,可以看到原来创建的镜像和容器都恢复过来了。

        有些不用的容器和镜像删除之后,磁盘空间没有被立刻释放,这里也附上立刻释放windows 磁盘空间的一个方法:

# 关闭wsl
wsl --shutdown
# 管理计算机驱动器
diskpart
# 选择虚拟磁盘文件
select vdisk file="上述步骤data\ext4.vhdx 文件的完整路径"
# 压缩文件
compact vdisk
# 压缩完毕后卸载磁盘
detach vdisk
# 压缩完成后应该会自动卸载磁盘,不手动执行命令应该也可以

        上述命令全部执行完成后,重启Docker Desktop 即可!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值