docker镜像从c盘转移到D盘

这篇博客介绍了如何在Windows上将DockerDesktop的数据,包括镜像存储位置,从C盘迁移到其他位置以节省空间。通过使用wsl命令,可以导出和导入DockerDesktop-data到指定路径。步骤包括停止DockerDesktop,使用wsl命令进行导出和注册操作,然后重新启动Docker。参考文章提供了详细的操作指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

windows 上面 最新的docker 都是安装[Docker Desktop for Window(https://hub.docker.com/editions/community/docker-ce-desktop-windows)
最新的版本已经基于windows的 wsl2作为底层架构,通过默认创建两个“发行版”,也就是distro来实现容器化功能,并且内部支持一个简易的kubernetes。
可以用wsl命令查看两个默认的distro:

wsl -l -v

  NAME                   STATE           VERSION
* Ubuntu                 Running         2
  docker-desktop         Running         2
  docker-desktop-data    Running         2
  • docker-desktop
  • docker-desktop-data

对应到磁盘上面,默认位置 %LOCALAPPDATA%/Docker/wsl

  • data/ext4.vhdx 对应存储 docker-desktop-data数据,用于存储镜像,会随着使用而不断增加。
  • distro/ext4.vhdx 对应存储 docker-desktop数据,100多mb,可以暂时不移动。

数据都是存在C盘,为了节省空间,移动数据到其他地方的步骤如下
以下命令都是运行在以管理员身份运行的PowerShell

  1. 停止docker desktop
  2. wsl 移出,注销,再导入distros
wsl --shutdown
wsl --export docker-desktop-data E:\docker-desktop\docker-desktop-data.tar
wsl --unregister docker-desktop-data
wsl --import docker-desktop-data E:\docker-desktop\data E:\docker-desktop\docker-desktop-data.tar --version 2
  1. 重新启动Docker
  2. 最后,如果在验证后一切没有问题,则可以删除D:\\docker-desktop-data.tar文件

参考文章链接:

把 docker-desktop-data 移出系统盘 - 简书

【Docker】win10上修改docker的镜像文件存储位置(九)- 通过WSL2修改_2021 真实-优快云博客

### 更改Docker镜像存储路径至D 对于希望更改Docker镜像存储位置到D的需求,具体操作取决于操作系统环境。 #### Linux环境下调整Docker存储路径 在Linux环境中,通常通过修改配置文件来改变Docker的数据根目录。默认情况下,Docker数据存放在`/var/lib/docker`下,这可能会占用大量系统磁空间。为了缓解这一情况并指定新的存储位置,可以编辑Docker的服务配置文件或者创建一个新的配置文件[^1]: - 对于Systemd管理的发行版,可以在`/etc/docker/daemon.json`中加入如下内容: ```json { "data-root": "/mnt/new-disk/docker" } ``` 之后重启Docker服务以应用更改: ```bash sudo systemctl daemon-reload sudo systemctl restart docker ``` 另一种方法是在不停机的情况下利用软链接技术实现迁移,即先停止Docker服务,然后移动现有数据并将旧路径指向新位置[^2]: ```bash service docker stop mv /var/lib/docker /new/path/to/docker ln -s /new/path/to/docker /var/lib/docker service docker start ``` #### Windows环境下调整Docker存储路径 针对Windows用户特别是运行Windows 11系统的个人而言,当基于WSL2安装Docker时,默认会将所有相关资源放置于C内,容易导致系统满载问题。为了避免这种情况发生,可以通过以下方式提前规划好镜像及其他组件的具体存放地点[^4]: 首先考虑的是直接在初次启动前就设定好非C作为工作区;如果已经开始了使用,则需采取额外措施如备份当前状态再恢复至其他驱动器上。例如,可借助命令行工具导出现有的Docker桌面环境及其关联数据包,并将其迁移到目标分区后再重新导入[^3]: ```powershell wsl --export docker-desktop-data "D:\docker\docker-desktop-data.tar" wsl --export docker-desktop "D:\docker\docker-desktop.tar" # 清理原实例... wsl --unregister docker-desktop-data wsl --unregister docker-desktop # 导入到新位置... wsl --import docker-desktop-data D:\docker C:\Path\To\Saved\tar\File.docker-desktop-data.tar wsl --import docker-desktop D:\docker C:\Path\To\Saved\tar\File.docker-desktop.tar ``` 完成上述任一过程后,请务必验证变更效果以及确认应用程序能否正常运作。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值