Docker desktop镜像存储位置的修改

本文详细介绍了如何在Windows上使用DockerDesktop时更改镜像的存储位置,避免C盘空间不足的问题。通过PowerShell命令,先检查Docker版本和当前存储路径,然后备份并卸载现有镜像,最后将镜像导入到新的目标路径。步骤包括使用wsl命令导出和导入镜像,以及修改DockerDesktop的数据存储位置。

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

Docker desktop镜像存储位置的修改

看了网上许多修改的方式,很多都是错误的,因为安装的docker desktop默认就安装C盘,但是C盘的可用空间很小,所以需要把镜像放在其他位置,这就需要修改镜像的存储位置了

1.查询版本

打开powershell或者cmd

> docker info

会有如下输出

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Build with BuildKit (Docker Inc., v0.6.3)
  compose: Docker Compose (Docker Inc., v2.0.0)
  scan: Docker Scan (Docker Inc., v0.8.0)

Server:
 Containers: 4
  Running: 4
  Paused: 0
  Stopped: 0
 Images: 2
 Server Version: 20.10.8  # docker的版本号
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc io.containerd.runc.v2 io.containerd.runtime.v1.linux
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: e25210fe30a0a703442421b0f60afac609f950a3
 runc version: v1.0.1-0-g4144b63
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 5.10.16.3-microsoft-standard-WSL2
 Operating System: Docker Desktop
 OSType: linux
 Architecture: x86_64
 CPUs: 6
 Total Memory: 12.43GiB
 Name: docker-desktop
 ID: JRXO:HD3R:OLAM:PVBF:HXTA:B7LY:6AQB:5ZCL:PYVM:XNMS:5TXF:DOY3
 Docker Root Dir: /var/lib/docker    # docker的根目录
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

我们可以看到版本号和根目录,也就是说通过deamon.json linux的方式是无法修改windows上Docker Destop的路径的

2. 安装时所需要的安装包以及遇到的问题

Docker for Desktop : https://www.docker.com/products/docker-desktop
安装完成后需要重启
wsl2: https://docs.microsoft.com/en-us/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package
在这里插入图片描述

安装完同样需要重启

3.修改镜像存储路径

WSL2模式下docker-desktop-data vm磁盘映像通常位于以下位置:
C:\Users\Administrator\AppData\Local\Docker\wsl\data\ext4.vhdx
按照以下说明将其重新定位到其他驱动器/目录,并保留所有现有的Docker数据。

首先,右键单击Docker Desktop图标关闭Docker桌面,然后选择退出Docker桌面,然后,打开命令提示符

wsl --list -v

有如下输出,说明docker desktop已经关闭了

  NAME                   STATE           VERSION
* Ubuntu                 Stopped         1
  docker-desktop-data    Stopped         2
  docker-desktop         Stopped         2

wsl改换镜像路径

# 备份镜像文件
PS C:\Users\Administrator> wsl --export docker-desktop-data "F:\\docker\\docker-desktop-data.tar"


# 注销镜像存储, 从wsl取消注册docker-desktop-data,请注意C:\Users\Administrator\AppData\Local\Docker\wsl\data\ext4.vhdx文件将被自动删除

PS C:\Users\Administrator> wsl --unregister docker-desktop-data
正在注销...


# 重新导入镜像文件,将导出的docker-desktop-data再导入回wsl,并设置我们想要的路径,即新的镜像及各种docker使用的文件的挂载目录,我这里设置到F:\\docker\\images

PS C:\Users\Administrator> wsl --import docker-desktop-data "F:\\docker\\images" "F:\\docker\\docker-desktop-data.tar" --version 2

令执行完毕,就能再目录下看到文件了,这时次启动Docker Desktop,可以正常工作了

验证的话,可以通过拉取镜像,看下盘符大小的变化,确定是不是大小有变化

### 修改Docker Desktop镜像存储位置 #### 方法一:通过图形界面调整磁盘映像位置 对于希望快速改变默认存储路径而不深入命令行操作的用户来说,可以通过Docker Desktop自带的图形化界面来完成这一变更。打开Docker Desktop之后,进入设置菜单,具体而言是在Settings(设置)> Resources > Disk Image Location中指定新的存储路径[^2]。 #### 方法二:配置`daemon.json` 另一种更为灵活的方式涉及编辑位于Windows系统的特定路径下的`daemon.json`文件。此方法允许更精细地控制Docker的行为模式。启动Docker Desktop并导航至Settings(设置)> Docker Engine,在弹出窗口中的JSON对象里加入如下字段: ```json { "data-root": "新路径" } ``` 这里的“新路径”应当替换为实际想要设定的目标文件夹地址,比如"D:\\DockerData"[^1]。 #### 创建专用目录用于存放数据 建议创建一个新的专门用来储存Docker相关资源的文件夹,并将其作为上述两种方式中新指派的位置。这样做不仅有助于保持系统整洁有序,而且便于管理和备份这些重要资料[^3]。 #### 移动现有图像与容器 如果已经存在一些占用空间较大的镜像或容器,则可能还需要手动迁移它们到新的位置。确保停止所有正在运行的服务后再执行该步骤,以免造成不必要的麻烦。 ```bash docker save $(docker images -q) -o /path/to/new/location/images.tar ``` 以上命令可以导出现有的全部镜像;而要恢复则可利用对应的加载指令: ```bash docker load -i /path/to/new/location/images.tar ``` 请注意,具体的实施细节可能会依据不同版本有所差异,因此官方文档始终是最权威的信息源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值