我有一个使用Docker compose启动的Web应用程序,我想禁用所有日志记录(或者至少将其打印到syslog而不是文件)。
当我的Web应用程序运行时,它可以在启动时快速生成11GB的日志文件,因此这会非常快地占用我的磁盘空间。
我知道普通的docker的运行命令有logging options但是在Docker Compose中我使用
Docker-compose up
在应用程序文件夹中启动我的应用程序。我如何在我的情况下启用此功能?我没有在网上找到具体案例。
答案 0 :(得分:73)
您应该可以使用logging功能。尝试将驱动程序设置为“无”
logging:
driver: none
答案 1 :(得分:4)
对于快速配置示例,类似
version: '3'
services:
'postgres':
image: postgres:9.6
logging:
driver: none
答案 2 :(得分:2)
作为第二个选项,您可能对不完全删除日志记录('none' 值的作用)感兴趣,但是将某些服务的日志存储在 syslog 中,有它的驱动程序,例如:
certbot:
image: certbot/certbot
restart: unless-stopped
logging:
driver: "syslog"
请注意,syslog 守护程序必须在主机上运行。要查看日志,请使用例如:journalctl -n 100 --no-pager