我想在后台运行Tomcat。因为我想在tomcat执行之后额外运行脚本。
请参阅打击。
[Dockerfile]
ENTRYPOINT entrypoint.sh
[entrypoint.sh]
${TOMCAT_HOME}/bin/catalina.sh run # tomcat start
echo "Hello" # I want to execute this command line. (echo "Hello" is a sample example.)
我想执行echo "Hello"
。
但是,由于Tomcat运行Foreground,因此该命令不会运行。
- 我知道用
catalina.sh start
运行tomcat会关闭容器
有没有办法在后台运行tomcat
catalina.sh
的start
和run
命令工作相似,不同之处在于start
分叉,而run
不分叉。
然而,由于每当主脚本退出时,Docker容器就会停止,因此使用会更好
# Start process in a subshell
(${TOMCAT_HOME}/bin/catalina.sh run)&
PID=$!
# Do other stuff
echo "Hello world!"
# Wait for server to terminate
wait $PID