【教程】Docker更换存储位置

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn]

如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~

目录

背景说明

更换教程

[1. 停止 Docker 服务](#1. 停止 Docker 服务)

[2. 创建新的存储目录](#2. 创建新的存储目录)

[3. 编辑 Docker 配置文件](#3. 编辑 Docker 配置文件)

[4. 迁移已有数据到新位置](#4. 迁移已有数据到新位置)

[5. 启动 Docker 服务](#5. 启动 Docker 服务)

[6. 验证当前 Docker 存储位置](#6. 验证当前 Docker 存储位置)

注意事项


背景说明

Docker 默认将所有数据存储在:

bash 复制代码
/var/lib/docker

现在希望更换位置,比如存到/mnt下面去。

更换教程

1. 停止 Docker 服务

bash 复制代码
sudo systemctl stop docker

2. 创建新的存储目录

bash 复制代码
sudo mkdir -p /mnt/vdb/docker

你也可以指定其他路径,比如 /mnt/disk/docker,只要该目录有足够空间并已挂载好。

3. 编辑 Docker 配置文件

Docker 的配置文件在:

bash 复制代码
sudo vim /etc/docker/daemon.json

如果没有这个文件,可以手动创建它。

修改或添加以下内容:

bash 复制代码
{ "data-root": "/mnt/vdb/docker" }

4. 迁移已有数据到新位置

如果你不想丢弃原来已有的镜像或容器数据,可以执行以下命令迁移:

bash 复制代码
sudo rsync -aP /var/lib/docker/ /mnt/vdb/docker/
  • 注意最后的**/** 是为了复制目录 内部内容 而不是目录本身,所以记得加

  • -a:归档模式,保留权限、符号链接等

  • -P:显示进度,并支持断点续传

5. 启动 Docker 服务

bash 复制代码
sudo systemctl start docker

6. 验证当前 Docker 存储位置

执行:

bash 复制代码
sudo docker info | grep "Docker Root Dir"

应输出类似:

Docker Root Dir: /mnt/vdb/docker

注意事项

  • 如果你使用的是 Docker Desktop(Windows/Mac),请在图形界面中设置,不适用此方案。

  • 如果你使用的是 自定义安装路径或容器运行时(如 containerd),对应方式可能不同。

  • 推荐使用 rsync 而非 cp 进行迁移,因为它能保留符号链接、权限等信息。

相关推荐
LunarCod33 分钟前
Ubuntu使用Docker搭建SonarQube企业版(含破解方法)
linux·运维·服务器·ubuntu·docker·开源·sonarqube
什么半岛铁盒1 小时前
Linux信号的保存
linux·运维·网络
noravinsc1 小时前
国产化中间件 替换 nginx
运维·nginx·中间件
惜.己2 小时前
Linux常用命令(十四)
linux·运维·服务器
linkingvision2 小时前
H5S 视频监控AWS S3 对象存储
linux·运维·aws·视频监控s3对象存储
doupoa3 小时前
Fabric 服务端插件开发简述与聊天事件监听转发
运维·python·fabric
BillKu3 小时前
服务器多JAR程序运行与管理指南
运维·服务器·jar
QQ2740287563 小时前
BlockMesh Ai项目 监控节点部署教程
运维·服务器·web3
ZHOU_WUYI3 小时前
使用 Docker 部署 React + Nginx 应用教程
nginx·react.js·docker
南棱笑笑生4 小时前
20250512给NanoPi NEO core开发板在Ubuntu core20.04系统更新boot.img
linux·运维·ubuntu