在Ubuntu中,Docker容器的日志轮转可以通过配置Docker的日志驱动和日志选项来实现。以下是一些常见的方法:
Docker默认使用json-file
日志驱动,可以通过配置/etc/docker/daemon.json
文件来设置日志轮转选项。
编辑Docker守护进程配置文件:
打开或创建/etc/docker/daemon.json
文件,并添加以下内容:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
这里的max-size
设置每个日志文件的最大大小,max-file
设置保留的日志文件数量。
重启Docker服务: 保存文件后,重启Docker服务以应用更改:
sudo systemctl restart docker
如果你希望将Docker容器的日志发送到系统的syslog,可以使用syslog
日志驱动,并配置syslog服务器进行日志轮转。
编辑Docker守护进程配置文件:
打开或创建/etc/docker/daemon.json
文件,并添加以下内容:
{
"log-driver": "syslog",
"log-opts": {
"syslog-address": "unix:///var/run/syslog",
"tag": "{{.Name}}"
}
}
这里的syslog-address
设置syslog服务器的地址,tag
设置日志标签。
配置syslog服务器:
根据你使用的syslog服务器(如rsyslog或syslog-ng),配置相应的日志轮转规则。例如,对于rsyslog,可以在/etc/rsyslog.conf
或/etc/rsyslog.d/50-default.conf
中添加以下内容:
if $programname == 'docker' then /var/log/docker.log
& stop
然后配置日志轮转:
/var/log/docker.log {
daily
missingok
rotate 7
compress
notifempty
create 0640 root adm
}
重启rsyslog服务: 保存文件后,重启rsyslog服务以应用更改:
sudo systemctl restart rsyslog
你还可以使用第三方日志驱动,如fluentd
或logstash
,这些工具通常内置了日志轮转功能。
安装并配置第三方日志驱动: 根据你选择的第三方日志驱动的文档进行安装和配置。
配置日志轮转: 第三方日志驱动通常会提供自己的日志轮转配置选项,按照其文档进行设置即可。
通过以上方法,你可以在Ubuntu Docker容器中实现日志轮转,确保日志文件不会无限增长,并且可以方便地进行管理和分析。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>