我最近安装了Windows 10 2004,可以访问WSL2。为此,Docker桌面为您提供了启用WSL2支持的选项,以便将其容器/卷从Hyper-V中存储切换为WSL2。我启用了此功能,但是它没有从Hyper-V移植到我现有的任何容器或卷上。相反,它只是重新开始。
我想知道是否可以将现有容器/卷从Hyper-V移至WSL2,这样我就不会丢失所有卷数据,而不必重建所有容器?
答案 0 :(得分:6)
要将现有卷从Hyper-V上的Docker(即,WSL2之前的版本)移植到基于WSL2的Docker:
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 ./
Use the WSL 2 based engine
设置并还原该卷:docker run --rm -v some_volume:/volume -v c:\where-to-backup:/backup alpine tar -C /volume/ -xjf /backup/backup.tar.bz2