Elastic Beanstalk Docker – 如何获取容器日志

我有一个运行在Elastic Beanstalk的docker容器中的Apache2 perl应用程序,并且在Apache2日志中遇到问题。

这是我的Dockerrun.aws.json文件…

{ "AWSEBDockerrunVersion": "1", "Ports": [ { "ContainerPort": "80" } ], "Volumes": [ { "HostDirectory": "/container_mnt/www/", "ContainerDirectory": "/var/www/" }, { "HostDirectory": "/var/log/docker_apache2/", "ContainerDirectory": "/var/log/apache2/" } ], "Logging": "/var/log/docker_apache2" } 

我有一个.ebextensionsconfiguration文件,设置实例文件夹…

 container_commands: 01-command: command: mkdir -p /container_mnt 02-command: ... do stuff to setup my application folder in /var/www/ ... 03-command: command: mkdir -p /var/log/docker_apache2 

当我用ssh连接到实例时,我可以看到日志正在写入正确的文件夹。 但是,当我从控制台检索日志时,不包括apache日志。

还有什么我需要做的,让日志出现在这里?

原来我误解了“日志logging”属性的用途。 我以为它涉及到一个主机文件夹,但实际上应该是一个容器文件夹。

我只是不得不改变的价值是…

 "Logging": "/var/log/apache2/" 

并从Volumes数组中删除条目。