背景
jenkins
突然无法自动构建镜像,经过确认并非是无法构建,而是磁盘空间满了。 关于手动清理Docker
日志的方法,自己曾经也处理过,但是容器多起来就相当麻烦。
在linux
上,容器日志一般存放在/var/lib/docker/containers/container_id/
下面, 以json.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
清理
#!/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 ========"
限制Docker
容器日志大小
全局设置
新建/etc/docker/daemon.json
,若是存在编辑即可。添加log-dirver
和log-opts
参数,示例如下:
# vim /etc/docker/daemon.json
{
"log-driver":"json-file",
"log-opts": {"max-size":"500m", "max-file":"3"}
}
max-size
设置日志文件的大小的上线,max-file
一个容器有多少个日志。
设置的日志大小,只对新建的容器有效.
// 重启docker守护进程
systemctl daemon-reload
systemctl restart docker
单个容器设置
通过配置容器docker-compose
的max-size
选项来实现。
consul-server-bootstrap:
container_name: consul-server-bootstrap
image: consul:latest
logging:
driver: “json-file”
options:
max-size: “5g”
重新使用docker-compose
运行即可完成最后设置。
转载请注明:清风亦平凡 » Docker容器在Centos使用脚本查看日志与清理