使用 docker-compose、Docker-Desktop 时使用 varnish 进行输出和记录

使用 docker-compose、Docker-Desktop 时使用 varnish 进行输出和记录
vcl 4.1;

import std;

backend default {
  .host = "127.0.0.1";
  .port = "80";
}

sub vcl_recv {

    std.syslog(2, "debugging : " + req.url);

}

我有此配置,并在 docker-compose 中使用 varnish:6.2 映像,当我执行 docker-compose exec varnish bash 并使用 varnishlog 时,我无法获取任何日志,而且我在任何地方都看不到 syslog。有地方可以获取它吗?另外,我想在 Docker Desktop 中实时查看日志,如何在那里调试我的输出?

答案1

对此没有优雅的解决方案,除非您可以在容器上配置 syslog 以将其输出到 STDOUT/STDERR。

另一个解决方案是运行一个运行varnishlogvarnishncsa命令的 sidecar 容器。这会将日志发送到 STDOUT。这将可通过 访问docker logs

为了做到这一点,/var/lib/varnish应该将其作为 Varnish 容器中的卷共享,并将其安装到 sidecar 中。

相关内容