本片文章记录下再linux系统正常安装docker之后,使用过一段时间之后发现系统盘即将占满。经过磁盘占用空间情况查看,一方面系统盘本身是比较小的,另一方面/var/lib/docker/overlay2目录占用过大。经过一番搜索学习之后,整理下这篇文章。
总体思路:docker的文件系统存储的目录将其迁移至其它空间较大的磁盘(注意,安装的docker的时候一定要养成指定下docker root dir)
接下来开始清理
1:首先可以使用sudo du -hs /var/lib/docker查看下docker的磁盘占用总览情况
2:docker system df 命令,可以查看docker磁盘占用的详细信息
3:docker system prune或者docker system prune -a 可以清理不用的一些镜像或者容器,如果不需要清理,可以直接跳过。
4: 迁移目录前先停止docker服务 systemctl stop docker
5:在迁移到的磁盘上创建一个 docker/lib。这个目录随意,自己创建就行
mkdir -p /home/docker/lib
6:使用rsync 命令将/var/lib/docker 目录迁移到刚刚创建的目录(/home/docker/lib)
rsync -avz /var/lib/docker /home/docker/lib
7:配置/etc/systemd/system/docker.service.d/devicemapper.conf 如果不存在直接创建
sudo mkdir -p /etc/systemd/system/docker/docker.service.d/
sudo vi /etc/systemd/system/docker.service.d/devicemapper.conf
8:在devicemapper.conf文件中写入一下内容
[service]
ExecStart=
ExecStart=/usr/bin/dockerd --graph=/home/docker/lib/docker
9:重新加载docker
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
10: 使用docker info检查下是否正确设置
11:最后查看之前的容器和镜像是否正常存在,确定没问题。删掉之前/var/lib/docker。释放磁盘空间