Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging 如何使用日志驱动程序从docker容器流式传输多个日志_Logging_Docker_Amazon Cloudwatch - Fatal编程技术网

Logging 如何使用日志驱动程序从docker容器流式传输多个日志

Logging 如何使用日志驱动程序从docker容器流式传输多个日志,logging,docker,amazon-cloudwatch,Logging,Docker,Amazon Cloudwatch,如果我在docker容器中有一个日志,并且我只能选择一个日志流式传输到标准输出,那么它工作得很好。但是,如果我在docker容器中有多个日志,并且我想使用aws日志驱动程序将每个日志流式传输到cloudwatch,该怎么办 例如,我有tomcat应用程序日志、tomcat访问日志和tomcat错误日志 理想情况下,我希望每个日志流到它自己的日志组。所以应该是这样的: O AWS_cloudwatch_log_group_application_logs - log_stream_applic

如果我在docker容器中有一个日志,并且我只能选择一个日志流式传输到标准输出,那么它工作得很好。但是,如果我在docker容器中有多个日志,并且我想使用aws日志驱动程序将每个日志流式传输到cloudwatch,该怎么办

例如,我有tomcat应用程序日志、tomcat访问日志和tomcat错误日志

理想情况下,我希望每个日志流到它自己的日志组。所以应该是这样的:

O AWS_cloudwatch_log_group_application_logs
  - log_stream_application_logs_instance_a
  - log_stream_application_logs_instance_b
  - log_stream_application_logs_instance_c
O AWS_cloudwatch_log_group_access_logs
  - log_stream_access_logs_instance_a
  - log_stream_access_logs_instance_b
  - log_stream_access_logs_instance_c
O AWS_cloudwatch_log_group_error_logs
  - log_stream_error_logs_instance_a
  - log_stream_error_logs_instance_b
  - log_stream_error_logs_instance_c
O AWS_cloudwatch_log_group_catalina_logs
  - log_stream_catalina_logs_instance_a
  - log_stream_catalina_logs_instance_b
  - log_stream_catalina_logs_instance_c

如何实现这一点?

我能想到的唯一方法是将卷映射到主机,并在主机上安装一个cloud watch日志代理,然后以这种方式流式传输日志,但这太麻烦了,为了寻找更好的解决方案(如果存在),我将日志映射到主机,正如您所述。它工作正常,但有点乱。我不知道还有什么更好的办法。