Fork me on GitHub

windows 10更改WSL Docker镜像目录

我们用的是windows开发,很多时候环境要求都不一样,特别是线上,因为版本出问题的不在少数,所以选择了docker进行环境的组装,用起来也比较方便, 现在Docker Desktop默认使用WSL 2来运行,而不是以前的Hyper-V。

WSL

WSL:适用于 Linux 的 Windows 子系统。

  • 什么是适用于 Linux 的 Windows 子系统?

适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生虚拟机开销。

  • 什么是 WSL 2?

WSL 2 是适用于 Linux 的 Windows 子系统体系结构的一个新版本,它支持适用于 Linux 的 Windows 子系统在 Windows 上运行 ELF64 Linux 二进制文件。 它的主要目标是提高文件系统性能,以及添加完全的系统调用兼容性。

安装完后试了一下,最明显的感觉就是开启docker的速度大大提升!!!

Windows版本(Windows 10)WSL 2 版本 docker 默认程序安装到c盘,数据存放于 C:\Users\当前用户名\AppData\Local\Docker\wsl\data\ext4.vhdx 这样会导致docker使用量上去C盘的空间越来越大。为了解决这个问题我们一般习惯性将数据部分移动到其他盘。

1.停止docker

通过windows系统的界面操作停止:

image

 

关闭所有发行版

wsl --shutdown

打开cmd窗口。查看停止情况:

wsl --list -v

image

安装docker后,docker会自动创建2个发行版:

  • docker-desktop
  • docker-desktop-data
2.备份导出目前已有的数据

wsl --export docker-desktop-data "D:\Docker\wsl\data\docker-desktop-data.tar"

命令说明:将目前已有的数据备份到D:\Docker\wsl\data\目录下,并命名为docker-desktop-data.tar

3.删除原有数据

wsl --unregister docker-desktop-data

image

说明:解除当前的docker 数据虚拟盘映射,该操作后会删除原有的ext4.vhdx (数据未备份前请谨慎操作)

4.导入数据到新盘

wsl --import docker-desktop-data "D:\Docker\wsl\data" "D:\Docker\wsl\data\docker-desktop-data.tar" --version 2

说明:将备份数据导入到新的虚拟盘,且指定虚拟盘的存放路径为D:\Docker\wsl\data,导入完成后在该目录下会存在一个ext4.vhdx的虚拟磁盘路径

5.启动Docker

在开始菜单中找到docker点击启动即可

这样就把存储转移了

posted @ 2021-01-15 21:21  张善友  阅读(5368)  评论(4编辑  收藏  举报