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

时间:2016-08-12 06:37:53

标签: docker apache2 elastic-beanstalk

我在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日志。

我还需要做些什么来让日志显示在这里吗?

1 个答案:

答案 0 :(得分:1)

事实证明我误解了“Logging”属性的目的。我认为它引用了一个主机文件夹,但它实际上应该是一个容器文件夹。

我只需将值更改为...

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

并从Volumes数组中删除该条目。