2016-10-18 2 views
1

나는 nginx 도커가 있습니다. 여기 Dockerfile이다 : 나는 docker run 명령을 통해이 프로그램을 실행할 때ElginBeanstalk의 Nginx Docker : 해당 파일이나 디렉토리가 없습니다.

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 

모든 것이 잘 실행; /var/lib/nginx/var/log/nginx이 올바른 사용 권한으로 존재하면 로그 파일은 /var/log/nginx에 생성되고 /var/lib/nginx/logs/var/log/nginx을 나타내는 심볼릭 링크입니다. 그러나 이것을 탄력적 인 beanstalk 응용 프로그램에 배포 할 수는 없습니다. 그것은 다음 오류로 인해 실패 : 나는 탄성 콩 줄기 서버에 SSH 및 docker run로 고정 표시기를 시작할 때

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) 

이상하게도, 다 잘 실행됩니다. 도커 실행 파일은 다음과 같습니다.

{ 
    "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" 
} 

이 문제의 원인은 누구입니까?

+0

aufs를 사용하십니까? – user2915097

+0

@ user2915097 아니요, 탄력있는 콩기름은 devicemapper를 사용합니다. – cscan

+0

추가적으로, 저는 탄두 빈 스토크 서버에 sshing하여'docker run'을 사용하여 컨테이너를 잘 시작할 수 있습니다. – cscan

답변

0

문제는 로그 폴더가 잘못 바인딩 되었기 때문입니다. 다음과 같아야합니다 :

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