1.排查
du -h --max-depth=1 /var/lib/docker/lib/containers
通过查询文件大小。确定大文件所在位置/var/lib/docker/containers
2.为什么出现这情况
经过查阅资料,这个里面存放了容器运行的日志,推测是之前进行压测,导致容器有大量日志。最终造成磁盘爆满。(运行时间长也会导致此问题)
3.开始处理
systemctl stop docker systemctl status docker //创建要新存放的地址 mkdir /data/docker/lib mv /var/lib/docker/* /data/docker/lib //修改docker配置。将路径指向新地址 vi /usr/lib/systemd/system/docker.service 在ExecStart=/usr/bin/dockerd后 追加 --graph /data/docker/lib //创建一个docker全局文件。用来防止容量过大---ps:这个没测试过,不知道会不会生效 vi /etc/docker/daemon.json // reload配置文件 { "log-driver":"json-file", "log-opts":{ "max-size" :"50000m","max-file":"3" } } //重启docker systemctl disable docker systemctl enable docker systemctl daemon-reload systemctl start docker //查看新地址,是否生效 docker info|grep Dir
//查看容器状态,看到目录都已经改过来了
docker inspect 容器id //下面对日志进行清理。不清理也是可以的。看情况 docker inspect --format '{{.LogPath}}' 34dbe42d30ae docker inspect --format '{{.LogPath}}' 4e51b0d2fcf2 sudo sh -c "cat /dev/null > /data/docker/lib/containers/34dbe42d30ae92f2a2f4798409fc8792ebb1d2275b87e19879f204f2bf4706c2/34dbe42d30ae92f2a2f4798409fc8792ebb1d2275b87e19879f204f2bf4706c2-json.log" sudo sh -c "cat /dev/null > /data/docker/lib/containers/4e51b0d2fcf24a249aed7d0f5f03c8bb9b5419ce11a16635b1fffd8dc95eb7ea/4e51b0d2fcf24a249aed7d0f5f03c8bb9b5419ce11a16635b1fffd8dc95eb7ea-json.log" docker inspect --format '{{.LogPath}}' 1804f2271770 docker inspect --format '{{.LogPath}}' 0acab853a70f sudo sh -c "cat /dev/null > /data/docker/lib/containers/1804f22717701db640292159e692b5d4ed646687b7eeb6dc59b48135fefff41a/1804f22717701db640292159e692b5d4ed646687b7eeb6dc59b48135fefff41a-json.log" sudo sh -c "cat /dev/null > /data/docker/lib/containers/0acab853a70fe5d6cfd1ccee198155d33752fe9b05b260587be325f16d06ca1b/0acab853a70fe5d6cfd1ccee198155d33752fe9b05b260587be325f16d06ca1b-json.log"