我有一个php-fpm码头容器。Php-fpm在容器内部运行,我可以在主机上获取php-fpm的日志吗?如果我可以,怎么办?
发布于 2017-04-01 22:16:59
常见的方法是容器内的应用程序不会记录到文件中,而是将日志输出到stdout / stderr上。容器的主进程打印到stdout / stderr的任何内容都由docker的内置日志记录工具收集,并可以使用docker logs <container-name>查看。
默认情况下,日志使用json-file日志记录驱动程序按容器存储,并将在删除容器本身时删除,但还有其他日志记录驱动程序可用(请参阅Configure logging drivers),允许您将这些日志发送到(例如) syslog、journald、gelf。
另请参阅
发布于 2017-12-06 22:03:31
Docker容器的标准是记录到stdout/stderr。然而,这在一些PHP运行时并不能很好地工作,例如php-fpm,因为在length和format中日志是如何被破坏的。
因此,我改变了在卷上写入日志的方法,并使用sidecar container将其放入stderr,从而放入Docker的日志收集和/或您的orchestrator中。
示例docker-compose.yml部分:
cli:
build: .
volumes:
- logs:/srv/annotations/var/logs
logger:
image: busybox:1.27.2
volumes:
- logs:/logs
# be careful, this will only tail alredy existing files
command: tail -f /logs/all.json
depends_on:
- clihttps://stackoverflow.com/questions/43156828
复制相似问题