2016-04-22 4 views
0

Hier ist meine Dockerfile:nginx nicht in Docker Ausgangs

FROM ubuntu:14.04.4 
ENV DEBIAN_FRONTEND noninteractive 
RUN apt-get update 
RUN apt-get install -y software-properties-common 
RUN add-apt-repository ppa:nginx/stable 

RUN apt-get update 
RUN apt-get upgrade -y 

RUN apt-get install -y nginx 

ADD configurations/nginx.conf /etc/nginx/nginx.conf 

ADD configurations/app.conf /etc/nginx/sites-available/default.conf 
RUN ln -sf /etc/nginx/sites-available/default.conf /etc/nginx/sites-enabled/default.conf 

RUN chown -Rf www-data.www-data /var/www/ 

ADD scripts/start.sh /start.sh 
RUN chmod 755 /start.sh 

EXPOSE 443 
EXPOSE 80 

CMD ["/bin/bash", "/start.sh"] 

Das start.sh Skript:

cat scripts/start.sh 

service nginx start 
echo "test" > /tmp/test 

Wenn ich log, um den Behälter:

docker exec --interactive --tty my_container bash 

weder der Test Datei existiert noch Nginx wird ausgeführt. Das nginx-Protokoll enthält keine Fehler.

+0

Es ist wahrscheinlich, dass Docker Ihre App anfangen zu laufen erwartet und niemals zurückkehren, wie in einem Vordergrundprozess. Wenn Ihr Startskript zurückkehrt, wird Docker beendet. Versuchen Sie also die oben verlinkte Lösung. – spokeadoke

+0

Sie können offizielle Bild wie ein Beispiel verwenden https://github.com/nginxinc/docker-nginx/blob/19799fa644461ed6c5ea07c0bc0ea0cc277c2d77/mainline/jessie/Dockerfile – ashatrov

+0

Was passiert, wenn Sie sich einloggen mit 'exec' zu Ihrem Container und versuchen zu laufen'/bin/bash/start.sh'. Es gibt Ihnen die genauen Fehler, die auftreten können, wenn es versucht, start.sh am Einstiegspunkt auszuführen. – Rahul

Antwort

-1

Versuchen

RUN /etc/init.d/nginx start 
Verwandte Themen