【问题标题】:Nginx Docker On ElasticBeanstalk: No Such File Or DirectoryElasticBeanstalk 上的 Nginx Docker:没有这样的文件或目录
【发布时间】:2017-02-28 04:09:43
【问题描述】:

我有一个 nginx 码头工人。这是 Dockerfile:

FROM nginx

RUN rm /etc/nginx/conf.d/default.conf
COPY nginx.conf /etc/nginx/nginx.conf
COPY server.8079.conf /etc/nginx/conf.d

CMD nginx

当我通过docker run 命令运行它时,一切运行良好; /var/lib/nginx/var/log/nginx 都以正确的权限存在,日志文件在 /var/log/nginx 中创建,/var/lib/nginx/logs 是指向 /var/log/nginx 的符号链接。但是,我无法将它部署到我的弹性 beanstalk 应用程序中。由于以下错误而失败:

nginx: [alert] could not open error log file: open() "/var/lib/nginx/logs/error.log" failed (2: No such file or directory)
2016/10/20 17:19:26 [emerg] 5#0: open() "/var/log/nginx/error.log" failed (2: No such file or directory)

奇怪的是,当我 ssh 进入 Elastic Beanstalk 服务器并使用 docker run 启动 docker 时,一切都运行良好。这是 docker 运行文件:

{
  "containerDefinitions": [
    {
      "portMappings": [
        {
          "containerPort": 8079,
          "hostPort": 8079
        }
      ],
      "mountPoints": [
        {
          "containerPath": "/var/log",
          "sourceVolume": "awseb-logs-NginxSSLRedirect"
        }
      ],
      "memory": 128,
      "essential": true,
      "image": "id.dkr.ecr.us-west-2.amazonaws.com/nginx-redirect-ssl",
      "name": "nginxSSLRedirect"
    }
  ],
  "AWSEBDockerrunVersion": "2"
}

有谁知道是什么导致了这个问题?

【问题讨论】:

  • @user2915097 不,弹性 beanstalk 使用 devicemapper。
  • 另外,我可以使用docker run 通过 ssh 进入弹性 beanstalk 服务器来启动容器。

标签: java nginx docker amazon-elastic-beanstalk


【解决方案1】:

问题是日志文件夹绑定不正确。应该是这样的:

"mountPoints": [
  {
    "containerPath": "/var/log/nginx",
    "sourceVolume": "awseb-logs-NginxSSLRedirect"
  }
]

【讨论】:

    猜你喜欢
    • 2019-01-22
    • 2021-04-08
    • 2021-02-24
    • 1970-01-01
    • 2020-04-27
    • 2022-01-15
    • 2018-12-30
    • 2017-07-02
    • 2022-06-13
    相关资源
    最近更新 更多