0

我正在使用 docker vnc 基础:FROM dorowu/ubuntu-desktop-lxde-vnc:focal

此图像使用主管启动许多进程

我在服务器上和本地运行容器,并让服务器保持几个月的测试自动化,所以 docker 日志很有用,但我在日志中得到了太多我不想要的。

我想删除/减少如下所示的日志

我每天都会收到成千上万的 docker 日志,例如:

127.0.0.1 - - [2021-12-29 22:10:41] "GET /api/state?video=false&id=2&w=1320&h=764 HTTP/1.0" 200 239 30.203522
127.0.0.1 - - [2021-12-29 22:10:49] "GET /api/health HTTP/1.1" 200 122 0.191225
127.0.0.1 - - [2021-12-29 22:11:12] "GET /api/state?video=false&id=2&w=1320&h=764 HTTP/1.0" 200 239 30.223648
127.0.0.1 - - [2021-12-29 22:11:19] "GET /api/health HTTP/1.1" 200 122 0.161399
127.0.0.1 - - [2021-12-29 22:11:45] "GET /api/state?video=false&id=2&w=1320&h=764 HTTP/1.0" 200 239 30.252270
127.0.0.1 - - [2021-12-29 22:11:49] "GET /api/health HTTP/1.1" 200 122 0.164935
>>> sending remote command: "cmd=fb" via X11VNC_REMOTE X property.
>>> sending remote command: "cmd=fb" via X11VNC_REMOTE X property.
>>> sending remote command: "cmd=fb" via X11VNC_REMOTE X property.
>>> sending remote command: "cmd=fb" via X11VNC_REMOTE X property.

其中一种日志显然来自 X11VNC,另一种(我认为)是来自 php-fpm 的健康检查

对于健康检查,这是我尝试过的:

我已经更新了 php-fpm.conf,试图关闭健康信息,但是……那没用???这在启动 bash 中,我尝试过:

sudo sed -i 's/;systemd_interval = 10/systemd_interval = 0/g' /etc/php/7.4/fpm/php-fpm.conf

它正确更新了 conf 文件,但唉,我仍然得到日志

我也从 bash 开始,如下

sudo /etc/init.d/php7.4-fpm start -D >/dev/null 2>&1

但唉,我仍然在 docker 日志中收到“GET /api/health”消息

对于 X11VNC 日志,这是我尝试过的:

supervisord.conf 包含:

[program:x11vnc]
priority=20
command=x11vnc -display :1 -xkb -forever -shared -repeat -capslock -rfbauth /.password2

我已经更新到这个:

[program:x11vnc]
stderr_logfile_maxbytes=0
stderr_logfile=/dev/fd/2
stdout_logfile_maxbytes=0
stdout_logfile=/dev/fd/1
loglevel=critical
priority=20
command=x11vnc -quiet -display :1 -xkb -forever -shared -repeat -capslock -rfbauth /.password2

但是,每次通过 novnc 访问容器时,我仍然会收到 X11VNC_REMOTE 日志消息

(我也在 [supervisord] 级别上尝试过 loglevel=critical,但我仍然收到这些消息)

我有点不知所措,我在这上面花了很长时间,感觉就像我在用头撞砖墙。我错过了什么?

更新,到目前为止,我发现其中一个日志来自这里:

https://github.com/LibVNC/x11vnc/blob/f07df92816ef10b7382a542125955df7f4156a5c/src/remote.c >>> 发送远程命令”

这是使用

fprintf(stderr

所以理论上,如果主管设置为抑制 stderr 它不应该在日志中(但它仍然是)

4

0 回答 0