我在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"
}
我有一个.ebextensions配置文件,用于设置实例文件夹...
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日志。
我还需要做些什么来让日志显示在这里吗?
答案 0 :(得分:1)
事实证明我误解了“Logging”属性的目的。我认为它引用了一个主机文件夹,但它实际上应该是一个容器文件夹。
我只需将值更改为...
"Logging": "/var/log/apache2/"
并从Volumes数组中删除该条目。