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。
另一个解决方案是运行一个运行varnishlog
或varnishncsa
命令的 sidecar 容器。这会将日志发送到 STDOUT。这将可通过 访问docker logs
。
为了做到这一点,/var/lib/varnish
应该将其作为 Varnish 容器中的卷共享,并将其安装到 sidecar 中。