Loading... ## 1. 问题描述 今天在导入一个千万级数据库备份文件的时候同事突然和我说本地服务启动不了 报redis无法持久化错误 我去排查了一下 发现是docker挂载的分区容量满了 无法再向硬盘上写入数据 ![c2b3a42e23d65a8bd0cab6c29ec2957.png](https://old.qwq.ro/usr/uploads/2022/05/1548930510.png) 所以我们现在有两个方案 1. 扩容docker所在的分区 2. 将docker存储路径修改 由于没有闲置的硬盘 如果需要扩容分区的话 只能缩减 `/home` 中的容量 有一定的数据风险 所以我们选择方案2 ## 2. 解决方法 #### 2.1查看docker存储路径 ``` docker info | grep -i root ``` ![VeryCapture_20220507120022.jpg](https://old.qwq.ro/usr/uploads/2022/05/2645051035.jpg) 由此可见 docker存储路径是 `/var/lib/docker` #### 2.2 停止docker运行 ``` systemctl stop docker ``` #### 2.3 移动docker存储文件 ``` mkdir /home/docker rsync -avzP /var/lib/docker/ /home/docker ``` 等待同步成功 ![VeryCapture_20220507120725.jpg](https://old.qwq.ro/usr/uploads/2022/05/3817323054.jpg) #### 2.4 修改docker启动路径 ``` vim /usr/lib/systemd/system/docker.service # 在 ExecStart 后面追加 'graph' 参数指定目录 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --graph=/home/docker ``` 保存后 ``` # 重载服务配置文件 systemctl daemon-reload # 启动docker systemctl start docker ``` 再次使用 `docker info | grep -i root` 命令查看存储目录是否改变 ![VeryCapture_20220507121251.jpg](https://old.qwq.ro/usr/uploads/2022/05/2679131407.jpg) Last modification:May 7, 2022 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 0 感谢大佬投喂 啾咪~