修改 docker 默认存储路径(Docker Root Dir)

1. 查看原始 docker 信息

  • 操作系统为 Ubuntu 18.04 LTS
docker info
hjw@hjw-pc:~$ docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 2
 Server Version: 20.10.5
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 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: nvidia runc io.containerd.runc.v2 io.containerd.runtime.v1.linux
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc version: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 5.4.0-62-generic
 Operating System: Ubuntu 18.04.5 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 12
 Total Memory: 15.29GiB
 Name: hjw-pc
 ID: NIAU:RPIA:EQSM:RUZZ:SBMR:THYT:VAEW:5RYB:TZMD:Y2ID:FNIS:XSGJ
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

其中,默认 Docker Root Dir: /var/lib/docker

2. 修改 docker 默认存储路径

sudo gedit /etc/docker/daemon.json
{
    "graph": "/home/hjw/docker-home"
}
systemctl daemon-reload
systemctl restart docker.service

将 Docker Root Dir: /var/lib/docker 修改为 Docker Root Dir: /home/hjw/docker-home,再重启 docker 服务

3. 查看更新 docker 信息

docker info
hjw@hjw-pc:~$ docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 2
 Server Version: 20.10.5
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 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: nvidia runc io.containerd.runc.v2 io.containerd.runtime.v1.linux
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc version: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 5.4.0-62-generic
 Operating System: Ubuntu 18.04.5 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 12
 Total Memory: 15.29GiB
 Name: hjw-pc
 ID: NIAU:RPIA:EQSM:RUZZ:SBMR:THYT:VAEW:5RYB:TZMD:Y2ID:FNIS:XSGJ
 Docker Root Dir: /home/hjw/docker-home
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false
### 修改 Windows 上 Docker 默认存储位置 对于希望调整 Docker 镜像和其他资源所占空间的用户来说,改变其默认存储路径是一个有效的解决方案。在 Windows 中,默认情况下这些文件会保存于 `C:\Program Files\Docker` 文件夹内[^1]。 #### 停止 Docker 服务 为了安全地执行迁移工作,在开始之前应当先关闭正在运行的服务实例。这一步骤可通过点击任务栏中的 Docker 图标并选择“停止 Docker Desktop”选项完成[^4]。 #### 备份现有数据 考虑到可能出现的操作失误风险,建议提前做好备份措施。具体做法是利用 WSL (Windows Subsystem for Linux) 功能导出当前环境下的所有资料: ```powershell wsl --export docker-desktop-data "D:\Backup\docker-desktop-data.tar" ``` 这条命令将会创建一个 tar 归档文件,其中包含了所有的必要信息以便后续恢复使用。 #### 迁移配置与数据 一旦确认旧的数据已经被妥善保存下来之后,则可以着手准备新的存放地点了。假设目标位置设定为 E 盘上的某个特定子目录(例如:`E:\DockerData`),那么接下来要做的就是卸载原有的 WSL 发行版,并重新注册它指向新路径: ```powershell wsl --unregister docker-desktop-data wsl --import docker-desktop-data "E:\DockerData" "D:\Backup\docker-desktop-data.tar" --version 2 ``` 上述指令不仅完成了实际物理层面的转移过程,同时也更新了内部链接使得未来的一切读写请求都能正确导向至预期之处。 #### 更新设置 最后一步是要告知 Docker 使用这个刚刚设立好的地方作为今后的工作区。重启 Docker Desktop 后进入设置界面内的 Daemon 标签页里寻找 Advanced 设置项,通过 JSON 编辑器添加或修改 `"data-root"` 参数为其赋予全新的绝对路径值,比如 `"data-root": "E:\\DockerData"` #### 完成验证 经过以上几步处理过后再次调用 `docker info` 应该能够看到 **Docker Root Dir** 已经变更为自定义的位置了[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

77wpa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值