Tomcat 7在Debian启动时失败,但继续在后台工作

当我在Docker中运行任何debian图像

sudo docker run -it debian /bin/bash 

安装tomcat 7

 apt-get update && apt-get install -y tomcat7 

开始吧,我明白了

 /etc/init.d/tomcat7 start [FAIL] Starting Tomcat servlet engine: tomcat7 failed! 

但是,如果我在浏览器中打开它,我知道, 它的工作原理!
使用CLI再次检查

 /etc/init.d/tomcat7 status [ ok ] Tomcat servlet engine is not running.. 

而现在唯一的办法就是阻止它被pid杀死。
你有没有遇到过这个问题?

是的,我以前遇到过这个问题。 Docker不是一个init系统。 sysv和initstart的初始化脚本可能需要系统具有正确的init系统或运行所需的守护程序来pipe理服务。

该脚本可能运行实际的进程,但由于缺乏初始化系统,错过了正确状态所需的pipe理位(定位进程PID,重新启动等)。

在这种情况下,最好只是作为命令运行应用程序。 请参阅官方的Tomcat映像: https : //github.com/docker-library/tomcat/blob/master/7-jre8/Dockerfile