Ich versuche, ein einfaches Docker Bild mit Apache und einem PHP-Programm zu starten. Es funktioniert gut, wenn ich laufenDocker CentOS Bild startet nicht automatisch httpd
docker run -t -i -p 80:80 my/httpd /bin/bash
dann manuell starten Apache
service httpd start
aber kippe ich get httpd automatisch zu starten, wenn
docker run -d -p 80:80 my/httpd
Apache laufen wird beim Start dann Container vorhanden ist. Ich habe eine Reihe von verschiedenen CMD
s in meiner Docker Datei versucht
CMD /etc/init.d/httpd start
CMD ["service" "httpd" "start"]
CMD ["/bin/bash", "/etc/init.d/httpd start"]
ENTRYPOINT /etc/init.d/httpd CMD start
CMD ./start.sh
start.sh ist
#!/bin/bash
/etc/init.d/httpd start
jedoch jeder Zeit Docker Instanz wird nach Apache existieren beginnt
Fehle ich etwas wirklich offensichtlich?
Dank Jiri zu laufen! Verwenden von 'ENTRYPOINT ["/usr/sbin/httpd "]' & 'CMD [" -D "," FOREGROUND "]' funktioniert ein Leckerbissen – dwitz
Nur FYI, einige Leute auch ausführen:/sbin/some_deamon && tail -f/var/log/foo –
@ ØyvindSkaar '&& tail -f ...' ist ein netter Hack, aber beachte bitte, dass der Container bei Log Rotation beendet wird, also würde ich es nicht für Log-Dateien wie/var/log/apache2 empfehlen /access.log – Jiri