Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在docker tomcat启动后运行命令_Java_Docker_Tomcat_Server_Docker Compose - Fatal编程技术网

Java 在docker tomcat启动后运行命令

Java 在docker tomcat启动后运行命令,java,docker,tomcat,server,docker-compose,Java,Docker,Tomcat,Server,Docker Compose,我希望在运行带有Java应用程序(spring或遗留应用程序)的docker容器时,在完成tomcat启动时,运行一个播放声音的脚本(作为通知) 问题是知道如何运行Tomcat启动后触发的命令。您可以 直到[ “$(curl-w“{response\u code}”-no keepalive-o/dev/null--连接超时1” -u用户名:密码http://localhost:8080/manager/text/list)" == "200"]; 因此,您的DockerfileENTRYPO

我希望在运行带有Java应用程序(spring或遗留应用程序)的docker容器时,在完成tomcat启动时,运行一个播放声音的脚本(作为通知)

问题是知道如何运行Tomcat启动后触发的命令。

您可以

直到[
“$(curl-w“{response\u code}”-no keepalive-o/dev/null--连接超时1”
-u用户名:密码http://localhost:8080/manager/text/list)" == "200"];
因此,您的Dockerfile
ENTRYPOINT
可以启动
catalina.sh&&yourScript

或者,在调用
catalina.sh
之前,使用nohup命令启动脚本

想法仍然是:您的脚本将循环,直到它检测到Tomcat准备就绪。

您可以有一个

直到[
“$(curl-w“{response\u code}”-no keepalive-o/dev/null--连接超时1”
-u用户名:密码http://localhost:8080/manager/text/list)" == "200"];
因此,您的Dockerfile
ENTRYPOINT
可以启动
catalina.sh&&yourScript

或者,在调用
catalina.sh
之前,使用nohup命令启动脚本

想法仍然是:您的脚本将循环,直到它检测到Tomcat就绪。

作为一般规则,“播放声音”或以其他方式与主机的硬件设备交互是无法从容器中完成的。您可以尝试中的一种技术(使用
nc
wait it
的方法不是Docker特有的)从主机运行此操作。一般来说,“播放声音”或以其他方式与主机的硬件设备交互不是您可以从容器中执行的操作。您可以尝试中的一种技术(使用
nc
wait it
的方法不是Docker特有的)从主机运行此操作。