快捷搜索: 王者荣耀 脱发

windows docker 更改镜像安装目录

 

目录

 

 

START

1. 问题

Windows 中docker 默认程序安装到c盘,数据存放于 C:Users当前用户名AppDataLocalDockerwsldataext4.vhdx 这样会导致C盘的空间 随着docker使用量越来越大。下方是亲测迁移数据的一种方式(该测试为迁移到F盘为例)

1.1 版本信息 

 

2. 修改Docker盘位操作

2.1. 停止docker

右键点击docker图标停止docker运行(Quit Docker Desktop)

默认使用的为Windows PowerShell (也可使用cmd)。查看停止情况:

C:UsersAdministrator> wsl --list -v
  NAME                   STATE           VERSION
* docker-desktop         Stopped         2
  docker-desktop-data    Stopped         2

2.2. 备份已有的数据

创建数据备份目录,当前备份目录为:F:Dockerwsldatadocker-desktop-data.tar。如出现以下提示,请自动去创建文件夹

为了以防万一,请先将容器存储成为镜像,导出成tar压缩包放到预先建好的数据目录下,防止崩溃,windows docker一旦崩溃,就会初始化,导致所有docker数据清空!!!

执行以下命令进行数据导出:

PS C:UsersAdministrator> wsl --export docker-desktop-data "F:Dockerwsldatadocker-desktop-data.tar"
PS C:UsersAdministrator> dir F:Dockerwsldata


    目录: F:Dockerwsldata


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----      2021/3/24   下午 7:10     6457722880 docker-desktop-data.tar

 

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

2.3. 删除旧数据(数据未备份前请谨慎操作)

 

C:UsersAdministrator> wsl --unregister docker-desktop-data
正在注销...
C:UsersAdministrator> wsl --list -v
  NAME              STATE           VERSION
* docker-desktop    Stopped         2
说明:解除当前的docker 数据虚拟盘映射,该命令执行后会删除原有C盘下的ext4.vhdx

2.4. 导入数据到新盘

 

C:UsersAdministrator> wsl --import docker-desktop-data "F:Dockerwsldata" "F:Dockerwsldatadocker-desktop-data.tar" --version 2
 C:UsersAdministrator> wsl --list -v
  NAME                   STATE           VERSION
* docker-desktop         Stopped         2
  docker-desktop-data    Stopped         2

 

说明:将备份数据导入到新的虚拟盘,且指定虚拟盘的存放路径为 F:Dockerwsldata,命令执行完毕后会在当前目录下会生成一个 ext4.vhdx 虚拟磁盘。如下所示:

2.5. 启动Docker

END

最后备份的文件F:Dockerwsldatadocker-desktop-data.tar可根据情况删除
注:特殊情况下docker中有些数据经过 docker system df 命令查看空间 并 经过docker system prune 释放空间后 ,物理磁盘还是没有释放的情况下进行删除 vhdx 文件 进行释放物理空间,直接在cmd 中 执行 wsl --unregister docker-desktop-data 命令即可。特别注意删除vhdx文件后docker会无法正常运行,需要重新生成 vhdx文件。如果已有docker-desktop-data.tar 可根据具体自身需求情况依据本文章章节重新执行生成docker 数据目录。
经验分享 程序员 微信小程序 职场和发展