迁移变更Docker默认数据存储目录

场景说明

Docker安装的默认数据目录为/var/lib/docker,但是如果/目录挂载的磁盘空间不够,就需要迁移docker数据到其他目录。

查找大空间磁盘目录

shell 复制代码
# 首先查看一下各目录磁盘空间大小,便于设置docker数据目录路径
[root@two harbor-2.9.1]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                  19G     0   19G   0% /dev
tmpfs                     19G     0   19G   0% /dev/shm
tmpfs                     19G   33M   19G   1% /run
tmpfs                     19G     0   19G   0% /sys/fs/cgroup
/dev/mapper/centos-root   50G   12G   39G  23% /
/dev/sda1               1014M  196M  819M  20% /boot
/dev/mapper/centos-home  2.6T  2.7G  2.6T   1% /home
tmpfs                    3.8G     0  3.8G   0% /run/user/1000

这里/home目录最大,我们选择将docker数据存储目录设置到/home下

停止docker服务

shell 复制代码
systemctl stop docker.socket
systemctl stop docker.service

创建docker新数据存储目录

shell 复制代码
mkdir -p /home/docker/data

安装rsync工具

复制代码
yum install rsync -y

迁移docker历史数据

javascript 复制代码
rsync -avzP /var/lib/docker /home/docker/data

修改docker配置文件

shell 复制代码
# 配置 docker 镜像代理及数据存储目录
[root@two docker24.0.4-offline-install]# mkdir -p /etc/docker
[root@two docker24.0.4-offline-install]# vim /etc/docker/daemon.json

{
    ......
    "data-root": "/home/docker/data",
    ......
}

data-root 启动报错的话,使用老版本参数graph代替

启动docker服务

shell 复制代码
systemctl daemon-reload
systemctl start docker

aemon-reload systemctl restart docker

复制代码
确定Docker服务正确,删除原数据目录

docker ps -a

rm -rf /var/lib/docker

复制代码
相关推荐
刀法如飞12 分钟前
AI时代:一文搞懂DDD领域驱动设计
后端·架构·ai编程
weixin_4684668518 分钟前
Prometheus监控服务部署与实战指南
服务器·后端·python·docker·自动化·prometheus
会编程的土豆42 分钟前
Go interface 底层的 itab 到底是什么
开发语言·后端·golang
candyTong43 分钟前
Claude Code 每次调用 API 时,上下文是怎么"拼"出来的?
javascript·后端·架构
java_cj43 分钟前
MySQL 执行原理深度剖析:查询成本计算与优化器内幕
数据库·后端·mysql
java_cj1 小时前
数据库范式化设计与性能优化全攻略
数据库·后端·性能优化·架构·开源
雪隐1 小时前
AI股票小助手01-量化交易基础概念
人工智能·后端·python
alwaysrun1 小时前
Rust之代数数据类型Enum
后端·rust·编程语言
前端市界1 小时前
拒绝纸上谈兵!Docker 一键全线打通 DevOps 金三角实战
后端
罗工_有bug1 小时前
label-studio 踩坑:一个环境变量引发的 bool 转换错误
后端