Windows卸载Docker Desktop重装后如何恢复原有TensorFlow容器?
Docker Desktop重装后容器恢复方案
前置判断
Docker Desktop在Windows上的所有镜像、容器、卷数据默认都存在单独的虚拟磁盘文件中,只要该文件未被彻底删除,就有恢复可能。
优先级最高恢复方案(WSL2后端,90%以上用户使用的默认配置)
- 首先打开资源管理器,输入路径
%LOCALAPPDATA%\Docker\wsl\查看目录内容 - 如果能找到后缀带
.old的子目录,或者非当前安装生成的ext4.vhdx文件(通常大小和你之前存储的镜像容器总大小匹配,至少数GB),说明旧数据磁盘还留存 - 以管理员身份打开PowerShell,依次执行以下命令:
- 停止所有WSL运行实例:
wsl --shutdown - 注销当前全新安装生成的空数据发行版:
wsl --unregister docker-desktop-data - 导入你找到的旧虚拟磁盘(替换命令中的路径为你实际找到的旧
ext4.vhdx的完整路径):wsl --import docker-desktop-data "%LOCALAPPDATA%\Docker\wsl\distro" "C:\path\to\your\old\ext4.vhdx" --version 2
- 停止所有WSL运行实例:
- 重启Docker Desktop,即可看到原有镜像和容器
备选方案1(Hyper-V后端用户适用)
- 打开路径
C:\Users\Public\Documents\Hyper-V\Virtual hard disks\查找是否有DockerDesktopVM的旧vhdx磁盘文件 - 打开Docker Desktop设置,找到Hyper-V存储配置项,指定找到的旧vhdx文件作为存储盘,重启Docker即可
备选方案2(虚拟磁盘被删除的场景)
- 用磁盘数据恢复工具扫描Docker原存储所在的盘符,查找
.vhdx后缀的大文件,恢复成功后按上述导入步骤操作即可,注意扫盘期间不要往对应盘符写入任何新数据,避免残留文件被覆盖
仅恢复Jupyter Notebook的补充方案
- 如果你当初启动TensorFlow容器时,把Jupyter的工作目录挂载到了Windows本地文件夹,直接去对应的本地挂载路径查找
.ipynb文件即可,无需恢复容器 - 如果你之前在本地浏览器打开过未导出的Notebook,可以去浏览器历史缓存中搜索对应ipynb的访问记录,部分场景下可以找回缓存的完整内容
不可恢复场景说明
如果上述所有方式都找不到旧的虚拟磁盘文件,说明数据已经被彻底删除,无法恢复。后续建议将容器内的重要文件目录挂载到本地磁盘,或定期执行docker export/docker commit备份容器。
内容的提问来源于stack exchange,提问作者Mathias Osterhagen
相关产品推荐
相关产品推荐

