我有一个 docker swarm 堆栈和一个运行各种 docker 容器来执行某些服务的应用程序。有时这些服务需要 10 分钟,有时需要 3 秒。
寻找一种能够读取所有这些服务的 docker 日志的解决方案。对于运行时间较长的容器,可以轻松实现,docker log xxx
但如果容器启动后不久就死机了,我就无法做到这一点。
感谢任何关于如何记录所有启动和停止的容器的日志的想法。docker events
不要给我任何信息。
答案1
考虑使用不同的日志驱动程序,以便持久存储日志。默认情况下,json-file
在删除容器后不会保留日志。如果您使用的是 Docker CE,请切换到journald
,您可以在 systemd 日志(和 syslog,如果您将日志条目复制到 syslog,大多数人都这样做)以及 中查看 Docker 日志docker logs
。Docker Enterprise 有更多日志记录选项,这些选项在 Docker 的网站上列出,或者您可以配置 systemd-journald 将日志导出到各种外部目标。