最新发现空间被占用的非常大,经过查询发现是docker container的log多大导致
于是想起清理log
在linux上,容器日志一般存放在/var/lib/docker/containers/container_id/下面,查看各个日志文件大小的脚本
临时清理
- 查找log日志的大小
#!/bin/sh
echo "======== docker containers logs file size ========"
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
ls -lh $log
done
- 删除相关log
#!/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 ========"
# chmod +x clean_docker_log.sh
# ./clean_docker_log.sh
永久清理
第一种方式. 通过docker-compose设置
nginx:
image: nginx:1.12.1
restart: always
logging:
driver: “json-file”
options:
max-size: “5g”
第二种方式
# vim /etc/docker/daemon.json
{
"log-driver":"json-file",
"log-opts": {"max-size":"500m", "max-file":"3"}
}
设置最大size是500m,并且最大file数是3
重启docker
// 重启docker守护进程
# systemctl daemon-reload
# systemctl restart docker