Windows 下修改 Docker 镜像路径


Windows 下修改使用 WSL 的 Docker 镜像路径

配置 Docker 使用 WSL 2 后,默认的镜像存放路径是 C:\Users\<用户名>\AppData\Local\Docker\wsl\data\ext4.vhdx

要修改镜像路径,原理就是使用 wsl 命令重新指定 Docker 使用的数据路径。

首先如果启动了 Docker Desktop 的话,要先在系统托盘中右键 Docker Desktop 的图标,点击退出 Docker Desktop。

在命令行窗口中执行

wsl --list -v

要确保输出列表中 docker-desktopdocker-desktop-dataSTATE 列均为 Stopped。即:

  NAME                   STATE           VERSION
* Ubuntu                 Stopped         2
  docker-desktop         Stopped         2
  docker-desktop-data    Stopped         2

接下来是将当前 docker-desktop-data 备份出来,以便后面更换路径时还原当前的 Docker 数据。我要将 Docker 镜像路径迁移到 D:\Docker\wsl\data 目录下,首先要自己手动创建这些目录(否则执行 wsl --export 时会提示路径不存在),然后执行:

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

wsl 命令会将 docker-desktop-data 的数据输出到指定路径中。其实这里的路径是任意路径也可以,真正指定新的镜像路径是在后面的注册命令中,此处为了演示方便将备份文件也输出到新的镜像路径中。

接下来要将原来的 docker-desktop-data 解除注册,注意执行解除注册命令后,docker-desktop-data 原来的数据文件会被删除,因此要恢复的话一定要提前按照前面的步骤备份数据文件。

wsl --unregister docker-desktop-data

最后重新注册 docker-desktop-data,指定它的路径为新路径,并将原来备份的文件恢复:

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

此处 --version 的值应该和前面 wsl --list -v 输出中对应 VERSION 列的值一致。恢复后原备份文件可删除。

执行完成后重新启动 Docker Desktop,Docker 的镜像路径已经更改到了新目录中。

注意不要重新注册 docker-desktop,重新注册的话会将 docker-desktop-data 的路径重新设置回默认目录中,因此只需要按照上面的步骤重新注册 docker-desktop-data 即可。


文章作者: CrazyBunQnQ
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC 4.0 许可协议。转载请注明来源 CrazyBunQnQ !