【发布时间】: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