我有一个 Apache2 perl 应用程序在 Elastic Beanstalk 的 docker 容器中运行,但在获取 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 日志。
我还需要做些什么才能让日志记录显示在此处吗?
最佳答案
事实证明我误解了“Logging”属性的用途。我以为它指的是主机文件夹,但实际上它应该是容器文件夹。
我只需要将值更改为...
"Logging": "/var/log/apache2/"
并从 Volumes 数组中删除该条目。
关于docker - Elastic Beanstalk Docker - 如何获取容器日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38911461/