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

标签 docker apache2 amazon-elastic-beanstalk

我有一个 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/

相关文章:

过滤 Elastic Beanstalk SNS 主题

Grails 2.1.4 和 2.0.4 停止在 AWS Elastic Beanstalk 中提供随机 JS 和 CSS 文件

amazon-web-services - 超时后无法部署到 AWS Elastic Beanstalk

python - 将 Python 诗歌与 Docker 集成

docker - 记录每个实验的确切Docker状态

linux - centos 7中Docker启动失败

php - 从 php 应用程序写入/etc 的最安全方法?

docker - 如何在不重新启动的情况下链接到其他容器?

php - 通过 php 重定向对 apache 的调用

php - 如何从 mod_php 查看 PHP ldap_* 函数的 stderr(LDAP_OPT_DEBUG_LEVEL=7)