0

windows docker 更改镜像安装目录

 2 weeks ago
source link: https://blog.csdn.net/qq_36226120/article/details/115185519
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MjI2MTIw,size_16,color_FFFFFF,t_70

目录

1. 问题

1.1 版本信息 

2. 修改Docker盘位操作

2.1. 停止docker

2.2. 备份已有的数据

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

2.4. 导入数据到新盘

2.5. 启动Docker


START

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

1.1 版本信息 

 

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MjI2MTIw,size_16,color_FFFFFF,t_70

2. 修改Docker盘位操作

2.1. 停止docker

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

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MjI2MTIw,size_16,color_FFFFFF,t_70

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

2.2. 备份已有的数据

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

20210324201823230.png

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

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

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

20210324202629403.png

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

说明:解除当前的docker 数据虚拟盘映射,该命令执行后会删除原有C盘下的ext4.vhdx 

2.4. 导入数据到新盘

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

20210324202927367.png

2.5. 启动Docker

 END

最后备份的文件F:\Docker\wsl\data\docker-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 数据目录。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK