Windows10如何更改Docker镜像目录

问题

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

Docker切换盘位操作详细

停止docker

通过windows系统的界面操作停止 image.png

C:\Users\Administrator> wsl --list -v
  NAME                   STATE           VERSION
* docker-desktop         Running         2
  docker-desktop-data    Running         2
C:\Users\Administrator> wsl --list -v
  NAME                   STATE           VERSION
* docker-desktop         Running         2
  docker-desktop-data    Running         2

备份导出目前已有的数据

C:\Users\Administrator> wsl --export docker-desktop-data "G:\Docker\data\docker-desktop-data.tar"
C:\Users\Administrator> dir  G:\Docker\data\


目录: G:\Docker\data
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       2021/10/12      8:54     1234224412 docker-desktop-data.tar
C:\Users\Administrator> wsl --export docker-desktop-data "G:\Docker\data\docker-desktop-data.tar"
C:\Users\Administrator> dir  G:\Docker\data\


目录: G:\Docker\data
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       2021/10/12      8:54     1234224412 docker-desktop-data.tar

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

问题

如果出现“已存在具有提供的名称的分发”。 需要执行下面命令进行注销

wsl --unregister docker-desktop-data
wsl --unregister docker-desktop-data

导入数据到新盘

C:\Users\Administrator> wsl --import docker-desktop-data "G:\Docker\data" "G:\Docker\data\docker-desktop-data.tar" --version 2
C:\Users\Administrator> wsl --list -v
  NAME                   STATE           VERSION
* docker-desktop         Stopped         2
  docker-desktop-data    Stopped         2
C:\Users\Administrator> wsl --import docker-desktop-data "G:\Docker\data" "G:\Docker\data\docker-desktop-data.tar" --version 2
C:\Users\Administrator> wsl --list -v
  NAME                   STATE           VERSION
* docker-desktop         Stopped         2
  docker-desktop-data    Stopped         2

image.png

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

启动Docker

参考