当使用Java应用程序(spring或遗留应用程序(运行docker容器时,当完成tomcat启动时,运行一个播放声音的脚本(用作通知(。
问题是知道Tomcat启动后如何触发运行命令。
您可以有一个脚本等待Tomcat完全准备好
until [
"$(curl -w '%{response_code}' --no-keepalive -o /dev/null --connect-timeout 1
-u USERNAME:PASSWORD http://localhost:8080/manager/text/list)" == "200"];
因此,您的DockerfileENTRYPOINT
可能正在启动catalina.sh && yourScript
。
或者,在调用catalina.sh
之前,使用nohup命令启动脚本。
这个想法仍然存在:您的脚本将循环,直到检测到Tomcat准备就绪。