我有一个php-fpm码头集装箱。 Php-fpm在容器中运行,我可以在主机上获得php-fpm的日志吗?如果我可以,该怎么办?如何使用php docker容器查看php日志信息?
0
A
回答
3
通常的做法是容器内的应用程序不会登录到文件,但输出日志stdout
/stderr
。容器的主要过程打印到stdout
/stderr
的任何内容都由码头工人的内置记录设施收集,可以使用docker logs <container-name>
查看。
默认情况下,日志存储在每个容器使用json-file
登录驱动程序,当容器本身被删除将被删除,但也有其他的日志记录程序(请参阅Configure logging drivers),让您的日志发送到(例如)syslog
,journald
,gelf
。
另见
0
为Docker容器的标准是记录到stdout
/stderr
。但是,这对于某些PHP运行时无法正常工作,例如php-fpm
,因为日志在length和format中被损坏。
因此,我将我的方法转换为在卷上写入日志,并使用sidecar container将它转换为stderr
,然后放入Docker的日志收集器和/或您的编排器中。
样品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:
- cli
相关问题
- 1. 使用Log4net的事件查看器中的日志信息
- 2. 在logCat中查看日志信息
- 3. php停止用户查看日志
- 4. 如何使用docker-compose运行查看日志输出?
- 5. PHP日志记录错误信息
- 6. 在IIS上记录PHP信息日志时在事件查看器中的日志描述
- 7. 如何查看Eclipse编译详细信息日志
- 8. Docker - 在PHP容器中使用Composer
- 9. 删除mac的容器docker的日志
- 10. Otros日志查看器
- 11. Python日志查看器GUI
- 12. SharePoint Online日志查看器
- 13. 如何使用PHP格式错误日志消息在日志文件中使用PHP
- 14. 如何查看Java日志?
- 15. 如何在Docker容器内启用对iptables的日志记录?
- 16. Docker swarm-manager显示旧容器信息
- 17. 如何查看三星智能电视日志查看器中的日志
- 18. PyQt4 - “查看日志文件的详细信息”错误
- 19. 如何在PHP中查看AWS Worker上的日志?
- 20. 如何使用php日志配置logrotate
- 21. 无法弄清楚如何使用Docker容器启动PHP-FPM
- 22. PHP调试:如何查看图像资源信息
- 23. 获取docker容器中的systemd/journald日志为“docker logs”
- 24. Docker容器通信
- 25. 如何使用PHP获取信息?
- 26. 如何使用萤火虫在php中查看会话详细信息?
- 27. 如何用PHP制作PDF查看器
- 28. 如何使用docker-compose将PHP容器与nginx容器连接起来?
- 29. 如何在浏览器中在线查看PHP或Apache错误日志?
- 30. 如何从链接的PHP Docker容器连接到Docker容器中的nginx vhost?
如果您发送的PHP日志(如应用程序日志)到stdout,他们将HTTP响应发送里面。也许有一种方法可以将他们的stderr发送到php-fpm stderr或类似的地方。 – giorgiosironi
@giorgiosironi这里是官方的php-fpm图像如何处理它; https://github.com/docker-library/php/blob/f795769559d9ce740e57ebd32f60f8a4569ee5b6/7.2/stretch/fpm/Dockerfile#L181-L186 – thaJeztah
谢谢,但遇到https://github.com/php/php-src/pull/1076因此我放弃了stderr方法,因为JSON日志受到'php-fpm'引入的换行符和其他注释的干扰或损坏。 – giorgiosironi