在要求输入邮箱的文本域,请填写真实的邮件地址。非真实邮件地址,将收不到回复信息。

Docker容器在Centos使用脚本查看日志与清理

Docker 清风 685℃ 0评论

背景

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
Docker容器在Centos使用脚本查看日志与清理-第0张图片

清理


#!/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-dirverlog-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-composemax-size选项来实现。


  consul-server-bootstrap:
    container_name: consul-server-bootstrap
    image: consul:latest
    logging: 
      driver: “json-file” 
      options: 
        max-size: “5g”

重新使用docker-compose运行即可完成最后设置。



转载请注明:清风亦平凡 » Docker容器在Centos使用脚本查看日志与清理

喜欢 (26)or分享 (0)
支付宝扫码打赏 支付宝扫码打赏 微信打赏 微信打赏
头像
发表我的评论
取消评论

CAPTCHA Image
Reload Image
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址