Debian系统下的Docker日志管理可以通过多种方法进行,以下是一些常用的技巧:
journalctl
是systemd日志系统的命令行工具,它可以显示所有服务的日志,也可以根据时间范围、优先级等条件过滤日志。
journalctl
journalctl -u 服务名称
journalctl --since "2021-01-01" --until "2021-01-31"
为了避免日志文件过大占用过多磁盘空间,可以通过配置日志轮换(log rotation)来限制日志文件的大小。
/etc/docker/daemon.json
(如果文件不存在,则需要手动创建)。例如:{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
sudo systemctl restart docker
docker inspect --format '{{.HostConfig.LogConfig}}' <container_id>
使用 docker logs
命令来查看容器的输出。docker run --name dozzle -d --volume=/var/run/docker.sock:/var/run/docker.sock -p 8080:8080 amir20/dozzle:latest
浏览器访问 http://ip:8080
查看页面。使用 logrotate
工具定期重命名、压缩、删除和邮件发送系统日志文件,以防止日志文件无限增长。
logrotate
(如果尚未安装):sudo apt-get update && sudo apt-get install logrotate
/var/log/myapp.log
创建一个配置文件 /etc/logrotate.d/myapp
:/var/log/myapp.log {
weekly
rotate 8
compress
delaycompress
missingok
notifempty
}
sudo logrotate --debug /etc/logrotate.d/myapp
logrotate
:sudo logrotate -f /etc/logrotate.conf
以上方法可以帮助你有效地管理Debian系统下的Docker日志,提高系统的可管理性和稳定性。