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数组中删除条目。