在Docker-Compose中禁用一个容器的日志记录


87

我有一个使用Docker compose启动的Web应用程序,我想禁用所有日志记录(或者至少将其打印到syslog而不是文件中)。

当我的Web应用程序运行时,它可以在启动时快速生成一个11GB的日志文件,因此这会非常快地耗尽我的磁盘空间。

我知道普通docker的run命令都有日志选项,但是在Docker Compose中,我使用

Docker组成

在应用程序文件夹中启动我的应用程序。我该如何启用此功能?我看不到在线上任何地方的特定案例。

Answers:


162

您应该能够使用日志记录功能。尝试将驱动程序设置为“无”

logging:
    driver: none

2
文档链接是值得赞赏的,但是您能否确切说明应该如何使用该选项来使容器不写日志?我将驱动程序设置为,none但是我的postgres容器在测试运行时仍将废话堆写入stdout。很烦人。
康·杰克逊

1
我更新了链接。希望它现在应该拥有所有信息
Fuxi

24

对于快速的配置示例,类似

version: '3'
services:
    'postgres':
        image: postgres:9.6
        logging:
            driver: none 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.