docker数据从c盘迁移到d盘

迁移 wsl 数据文件到 D 盘

docker安装的镜像、容器等,都放在 C:\Users\xxx\AppData\Local\Docker\wsl 目录中。请不要在“设置”中修改位置,请使用 wsl 相关命令迁移到 D 盘,重要的事情说三遍

  • 查看已经安装的的Linux发行版:wsl --list, Docker Desktop 通过 wsl启动时,会自动创建两个 wsl 子系统:docker-desktop 和 docker-desktop-data

  • C:\Users\xxx>wsl --list
    适用于 Linux 的 Windows 子系统分发:
    docker-desktop (默认)  
    docker-desktop-data
    # docker-desktop 对应 
    # -> C:\Users\xxx\AppData\Local\Docker\wsl\main\ext4.vhdx数据文件
    # docker-desktop-data 对应
    # -> C:\Users\xxx\AppData\Local\Docker\wsl\data\ext4.vhd镜像文件
    
  • 将 wsl 2 设置为默认版本:wsl --set-default-version 2

  • 关闭所有子系统:wsl --shutdown

  • 卸载定子系统:wsl --unregister "名称xxx"

迁移前的备份

# 先停止docker
# 关闭所有发行版
C:\Users\xxx>wsl --shutdown
# 查看停止情况
# 安装docker后,docker会自动创建个发行版:
# docker-desktop
# docker-desktop-data 有些版本不会创建这个
C:\Users\xxx>wsl --list -v
  NAME                   STATE           VERSION
* docker-desktop         Stopped         2
  docker-desktop-data    Stopped         2
 
# 备份导出目前已有的数据
# docker-desktop 对应 
# -> C:\Users\xxx\AppData\Local\Docker\wsl\main\ext4.vhdx数据文件
# docker-desktop-data 对应
# -> C:\Users\xxx\AppData\Local\Docker\wsl\data\ext4.vhd镜像文件
# 命令说明:将...wsl\main\ext4.vhdx数据文件备份到D:目录下,并命名为docker-desktop.tar
C:\Users\xxx>wsl --export docker-desktop "D:\docker-desktop.tar"
正在导出,这可能需要几分钟时间。
操作成功完成。
# 命令说明:将...wsl\data\ext4.vhd镜像文件备份到D:目录下,并命名为docker-desktop-data.tar
C:\Users\xxx>wsl --export docker-desktop-data "D:docker-desktop-data.tar"
正在导出,这可能需要几分钟时间。
操作成功完成。
 
# 删除原有数据
# 说明:解除当前的docker 数据虚拟盘映射,该操作后会删除原有的ext4.vhdx (数据未备份前请谨慎操作)
C:\Users\xxx>wsl --unregister docker-desktop
正在注销。
操作成功完成。
C:\Users\xx>wsl --unregister docker-desktop-data
正在注销。
操作成功完成。
 
 
# 导入数据到新盘
# 命令说明:将备份数据导入到新的虚拟盘,且指定虚拟盘的存放路径为D:docker-workspace\main,导入完成后在该目录下会存在一个ext4.vhdx的虚拟磁盘路径
C:\Users\xxx>wsl --import docker-desktop "D:docker-workspace\main" "D:docker-desktop.tar" --version 2
正在导入,这可能需要几分钟时间。
操作成功完成。
# 命令说明:将备份数据导入到新的虚拟盘,且指定虚拟盘的存放路径为D:docker-workspace\data,导入完成后在该目录下会存在一个ext4.vhdx的虚拟磁盘路径
C:\Users\xxx>wsl --import docker-desktop-data "D:\docker-workspace\data" "D:docker-desktop-data.tar" --version 2
正在导入,这可能需要几分钟时间。
操作成功完成
 
# 创建软链接,必须创建软件链接,否则重启不生效
C:\Users\xxx>mklink "C:\Users\xxx\AppData\Local\Docker\wsl\data\ext4.vhdx" "D:\docker-workspace\data\ext4.vhdx"
#这里软链mklink 命令必须在cmd下才可以直接使用,如果使用PowerShell请使用
cmd /c mklink "C:\Users\lxk\AppData\Local\Docker\wsl\data\ext4.vhdx" "D:\docker-workspace\data\ext4.vhdx"
# 最后启动Docker
posted @ 2024-11-11 17:28  upk  阅读(1792)  评论(0)    收藏  举报