Windows系统下迁移Docker镜像存储目录至非C盘(如D盘)
把Windows Docker镜像从C盘迁移到其他盘符的实操指南
嘿,我来帮你搞定把Windows Docker镜像从C盘挪去D盘(或其他盘符)的事儿——这操作我自己折腾过好多次,不管是想省心点用图形界面,还是要精细控制用手动操作,都给你安排得明明白白:
方法一:Docker Desktop图形界面操作(最省心)
这是最适合普通用户的方法,不用敲命令,点点鼠标就行:
- 先确保Docker Desktop完全退出:右下角托盘找到Docker图标,右键选择「Quit Docker Desktop」,等它彻底关掉
- 重新启动Docker Desktop,点击右上角的齿轮图标进入设置界面
- 在左侧菜单里找到「Resources」→「Advanced」
- 找到「Disk image location」选项,点击「Browse」选择你想迁移到的路径(比如
D:\Docker\Data) - 点击「Apply & Restart」,Docker会自动重启并把所有镜像、容器数据迁移到新路径,耐心等它完成就行
方法二:手动迁移(适合需要自定义路径的场景)
如果你的Docker版本比较旧,或者想更灵活地控制迁移过程,就用这个方法:
- 完全停止Docker相关服务:右键开始菜单,选择「Windows终端(管理员)」,依次执行以下命令:
确保命令执行成功,服务完全停止net stop docker net stop com.docker.service - 创建目标目录:在D盘(或其他盘符)创建你想要存储Docker数据的文件夹,比如
D:\ProgramData\Docker - 复制数据:把
C:\ProgramData\Docker里的所有内容(包括隐藏文件)完整复制到刚才创建的目标目录里,别漏了任何文件 - 修改Docker配置文件:找到
C:\ProgramData\Docker\config\daemon.json(如果没有这个文件,就新建一个),在文件里添加或修改以下内容(注意路径用双反斜杠):{ "data-root": "D:\\ProgramData\\Docker" } - 重启Docker服务:回到管理员终端,执行以下命令启动服务:
net start docker net start com.docker.service - 验证迁移结果:启动Docker Desktop,执行
docker images命令看看镜像是否都在,再检查目标盘符的文件夹有没有数据生成。确认没问题后,再考虑删除C盘原目录的备份(建议先备份几天,确保一切正常再删)
一些重要提醒
- 迁移前最好先备份C盘的
C:\ProgramData\Docker目录,防止中途出意外导致数据丢失 - 不管用哪种方法,迁移过程中都别强行中断Docker服务,不然可能损坏镜像或容器数据
- 目标路径尽量不要用中文或特殊字符,避免出现奇怪的兼容性问题
内容的提问来源于stack exchange,提问作者Siva Chamarthi




