Docker查看容器大小,并清除logs日志
查看容器大小
# 简略
docker system df
# 详细信息
docker system df -v
清除容器日志
清除日志文件(治标)
找出日志文件:在linux上,容器日志一般存放在/var/lib/docker/containers/container_id/下面
# 命令行清除
cd /var/lib/docker/containers/
du -sh *
cd 94de1859951a96aee05bfdf8f6eb3a721546bf13aaf5f0785ba537c0eccb702b
cat /dev/null > 94de1859951a96aee05bfdf8f6eb3a721546bf13aaf5f0785ba537c0eccb702b-json.log
使用脚本清除
cat clean-docker-log.sh
#!/bin/bash
echo "======== docker containers logs file size ========"
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
ls -lh $log
done
# 授权并运行脚本
chmod +x docker_log_size.sh
./clean-docker-log.sh
设置docker容器日志大小(治本)
限制容器服务的日志大小上限。这个通过配置容器docker-compose的max-size选项来实现
nginx:
image: nginx:1.12.1
restart: always
logging:
driver: “json-file”
options:
max-size: “500m”
重启nginx容器之后,其日志文件的大小就被限制在500m
全局设置:新建或者修改 /etc/docker/daemon.json 添加log-dirver和log-opts参数
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn","http://hub-mirror.c.163.com"
],
"insecure-registries":["docker.mirrors.ustc.edu.cn"],
# 设置日志大小
"log-driver":"json-file",
"log-opts":{"max-size":"500m","max-file":"3"}
}
# 加载配置并重启
systemctl daemon-reload
systemctl restart docker
max-size=500m,意味着一个容器日志大小上限是500
max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步