gpt4 book ai didi

docker - 如何让syslog在docker中工作?

转载 作者:行者123 更新时间:2023-12-03 04:22:28 25 4
gpt4 key购买 nike

我的应用程序将发送系统日志 local0 消息。当我将应用程序移至 docker 时,我发现很难显示系统日志。

我尝试将 docker 作为 --log-dirver 作为 syslog 或journald 运行,两者工作都很奇怪,当我尝试运行时,/var/log/local0.log 显示 docker 容器的控制台输出而不是我的应用程序的 syslog这个命令在容器内

logger -p local0.info -t a message

因此,我尝试在 docker 容器内安装 syslog-ng。外部 docker 盒子是 Arch Linux(内核 4.14.8 + systemctl)。docker 容器正在 CentOS 6 上运行。如果我在容器内安装 syslog-ng 并启动它,它会显示以下消息。

# yum install -y syslog-ng  # this will install syslog-ng 3.2.5
# /etc/init.d/syslog-ng start
Plugin module not found in 'module-path'; module-path='/lib64/syslog-ng', module='afsql'
Starting syslog-ng: Plugin module not found in 'module-path'; module-path='/lib64/syslog-ng', module='afsql'
Error opening file for reading; filename='/proc/kmsg', error='Operation not permitted (1)'
Error initializing source driver; source='s_sys', id='s_sys#0'
Error initializing message pipeline;

最佳答案

在我的应用程序被 Docker 化后,我在获取标准“syslog”输出时也遇到了问题。

我从不同的方向解决了这个问题。我想获取主机上的容器系统日志 /var/log/syslog

我已经运行了我的容器,并额外安装了 /dev/log 设备,瞧,它工作得非常顺利。

docker run -v /dev/log:/dev/log  sysloggingapp:latest

关于docker - 如何让syslog在docker中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47973554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com