Nginx在ElasticBeanstalk上的Docker:没有这样的文件或目录

我有一个nginx docker。 这里是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中创build, /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) 

奇怪的是,当我进入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" } 

有没有人有任何想法可能会导致这个问题?

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

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