从起docker redis 也无用 状态正常up....
1, 通过 docker-compose logs -f xxx-redis 查看日志得到问题:无法写入文件 , 判断磁盘空间不够!
2, df -h 查看磁盘空间 显示 used 99% 那么解决空间问题:
a, 查看docker 日志存放位置: find / -name *-json.log
b,编写脚本xxxx-clean.sh 以方便清除日志
#!/bin/sh
echo "=================== start clean docker containers logs =========================="
# 日志位置一般在 (var/lib/docker/containers/)
# 查看日志位置 find / -name *-json.log
# 查看磁盘空间 df -hl
logs=$(find /home/docker/lib/containers/ -name *-json.log)
for log in $logs;
do
echo "clean logs:"
echo $log
cat /dev/null>$log
done
echo "==================== end clean docker containers logs =========================="
echo `date`
执行, sh xxxx-clean.sh 即可
c 进一步 清理大文件:
执行命令 du -sh *
或 du -h --max-depth=1 逐个目录查找对应大文件 进行处理
找到对应大文件,进行相关清理 释放更多磁盘空间后 ,
查看占用比例: df -hl
发现占比used 从99% 下降到77% , 重启redis 容器服务 即可正常使用~~~
volumes目录占用大的话:
可通过命令删除
find /var/lib/docker/volumes -type f -name "*.log" -delete
若没有发现文件,想清空下废弃的容器
docker system prune
- 清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。
- -a :清理得更加彻底,可以将没有容器使用Docker镜像都删掉。
docker system prune -a
当然 若无多余日志 或 无法删减大文件 来释放磁盘空间 那么 需要考虑扩容 或 挂载磁盘来解决空间不足问题!!!