Docker 修改默认存储路径,解决系统盘占用100%问题

最近遇到一个问题,服务器的系统盘空间被占满了,导致服务不能正常运行了。
推测是 docker 存储路径默认在系统盘的缘故

验证

查看存储路径是否在系统盘

docker info

输出,证实猜想

...
Docker Root Dir: /var/lib/docker
...

迁移并修改配置

1. 停止 Docker 服务:
systemctl stop docker

2.创建一个新的目录,用于存储 Docker 数据。例如,将数据存储在 /home/docker/:
mkdir -p /home/docker/

3.将当前 /var/lib/docker 目录下的所有数据复制到新目录,使用 rsync 替代 cp 解决断点续传问题:
rsync -avz /var/lib/docker/* /home/docker/

4.默认情况下,Docker 使用 /etc/docker/daemon.json 配置文件。
vim /etc/docker/daemon.json

5.在 daemon.json 文件中,添加或修改 "data-root" 选项,以指向新的存储路径。例如:
{
"data-root": "/home/docker/"
}
保存并关闭文件。

6.启动 Docker 服务:
systemctl start docker

7.验证:
docker info
df -h
docker ps
或者直接验证一下服务是否可用

8.再删除原目录,稳妥一点,不然第 3 步直接 mv 命令就行了
cd /var/lib
rm -rf docker

参考:

https://blog.csdn.net/lp840312696/article/details/128732320
https://blog.csdn.net/u011197085/article/details/130272195

你可能感兴趣的:(Linux,Docker,干货,docker,容器,linux,磁盘占用)