将图像从 Hyper-V 移植到 WSL2

Tha*_*Don 5 docker windows-subsystem-for-linux

我最近安装了 Windows 10 2004,它可以访问 WSL2,在这样做时,Docker Desktop 为您提供了启用 WSL2 支持的选项,以便它从在 Hyper-V 中存储它的容器/卷切换到 WSL2。我启用了此功能,但是它没有从 Hyper-V 移植到我现有的任何容器或卷上。相反,它刚刚开始。

我想知道是否可以将我现有的容器/卷从 Hyper-V 移动到 WSL2,这样我就不会丢失所有卷数据而不得不重建所有容器?

Tha*_*Don 7

要将现有卷从 Hyper-V 上的 Docker(即 WSL2 之前)移植到基于 WSL2 的 Docker:

  1. 确保您已恢复到 Hyper-V;也就是说,要确保在泊坞桌面设置- >常规您有未选中Use the WSL 2 based engine

从提升的 Powershell 终端执行以下操作以备份卷:

docker volume ls (find volume name you want to copy: some_volume)
docker run --rm -v some_volume:/volume -v c:\where-to-backup:/backup alpine tar -cjf /backup/backup.tar.bz2 -C /volume ./
Run Code Online (Sandbox Code Playgroud)
  1. 现在,检查Use the WSL 2 based engineDocker Desktop 中的设置并恢复卷:
docker run --rm -v some_volume:/volume -v c:\where-to-backup:/backup alpine tar -C /volume/ -xjf /backup/backup.tar.bz2
Run Code Online (Sandbox Code Playgroud)