Docker指定项目下载目录
·
docker pull 命令本身不能通过一个参数直接指定镜像的下载目录。镜像的存储位置是由 Docker 守护进程(Daemon)的配置决定的。
不过,我们可以通过修改 Docker 的全局配置,来改变所有镜像(包括后续 pull 的镜像)的默认存储位置。以下是几种在 Windows 下实现的方法。
方法一:通过 Docker Desktop 图形界面修改(最简单,推荐)
这是最直观、最安全的方法,适用于使用 WSL 2 后端的 Docker Desktop。
- 停止 Docker:右键点击系统托盘中的 Docker 图标,选择 “Quit Docker Desktop” 退出。
- 移动数据:将整个 Docker 数据文件夹从默认位置(通常是
C:\Users\你的用户名\AppData\Local\Docker)复制(建议先复制,确认无误后再删除原文件)到你希望存放的新位置,例如D:\Docker。 - 重新配置:重新启动 Docker Desktop。
- 修改设置:
- 点击 Docker Desktop 右上角的 设置(⚙️) 图标。
- 在左侧菜单选择 Resources -> Advanced。
- 在 “Disk image location” 处,点击 “Browse…” 按钮,选择你刚才复制数据到的新位置(例如
D:\Docker)。 - 点击 “Apply & Restart” 应用并重启 Docker。
重启后,Docker 的所有数据(包括新拉取的镜像)就会存储在你指定的新目录了。
方法二:修改配置文件 daemon.json(进阶)
此方法通过修改 Docker 引擎的配置文件来更改 data-root(数据根目录),适用于所有后端。
- 找到配置文件:配置文件通常位于
C:\ProgramData\Docker\config\daemon.json。如果文件或文件夹不存在,请手动创建。 - 编辑文件:使用文本编辑器(如记事本)打开该文件,添加或修改
data-root配置项,指向你的新目录。注意 Windows 路径中的反斜杠需要转义。{ "data-root": "D:\\DockerData" } - 重启 Docker:保存文件并重启 Docker Desktop,使配置生效。
- 验证结果:打开 PowerShell,执行
docker info命令,在输出中查看 “Docker Root Dir” 一项,确认是否已变更为你设置的新路径。
方法三:针对 WSL 2 后端的特殊说明
如果你使用的是 WSL 2 后端,Docker 的数据实际上存储在 WSL 2 的虚拟磁盘中。
docker info命令显示的Docker Root Dir会是 WSL 2 内部的路径(如/var/lib/docker)。- 此时,方法一(通过 Docker Desktop 设置修改 Disk image location)是更推荐且有效的方式。
- 你也可以在 WSL 2 内部通过修改
daemon.json文件来更改存储位置,但这通常更复杂,不推荐新手操作。
总结
docker pull 本身不能指定目录,但我们可以通过修改 Docker 引擎的全局存储位置来间接实现。对于绝大多数 Windows 用户,方法一(通过 Docker Desktop 图形界面) 是最简单、最安全的选择。修改后,所有新拉取的镜像都会保存到你指定的目录中。
更多推荐
所有评论(0)