使用本地电脑虚拟机时,发现docker overlay层占用磁盘很大。
df -h
发现overlay占用总=磁盘空间的98%的空间。
而虚拟机上面的只有一个mysql的实例,分析原因:
①容器日志没有设置回滚,导致一直占用磁盘空间。
找到docker日志存放地址: /var/lib/docker/containers/{容器id}
下面
写一个crontab脚本执行
#!/bin/sh
echo "======== start clean docker containers logs ========"
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
echo "clean logs : $log"
cat /dev/null > $log
done
echo "======== end clean docker containers logs ========"
crontab -e 58 23 * * * sh cleanOverlay.sh
启动docker时,设置容器服务的日志上线
nginx:
image: <容器:tag>
restart: always
logging:
driver: “json-file”
options:
max-size: “10g”