Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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中从php脚本执行jar文件_Java_Php_Docker - Fatal编程技术网

Java 如何在docker中从php脚本执行jar文件

Java 如何在docker中从php脚本执行jar文件,java,php,docker,Java,Php,Docker,我在docker中有php,mysql,nginx。 现在我必须使用php脚本中的参数运行jar文件 我已经将java添加到我的docker compose.yml(docker compose的一部分如下) 我试图从php脚本中执行以下部分代码: $command = "java -jar '/var/www/html/jar/MyFile.jar' command" exec($command, $output, $return); 我怀疑,execsimple无法找到java所在的位置。

我在docker中有
php
mysql
nginx
。 现在我必须使用php脚本中的参数运行jar文件

我已经将java添加到我的
docker compose.yml
(docker compose的一部分如下)

我试图从php脚本中执行以下部分代码:

$command = "java -jar '/var/www/html/jar/MyFile.jar' command"
exec($command, $output, $return);
我怀疑,
exec
simple无法找到
java
所在的位置。 如何让它工作


非常感谢

在docker中,两个容器完全分开运行,因此当您使用
exec
时,它将尝试在php容器中执行该命令,而不是在java容器中。在另一个容器中启动进程的唯一方法是通过HTTP请求,其中Java容器中正在运行一个API,该API捕获该调用并相应地执行正确的JAR

另一个解决方案是为php容器使用更大的图像,其中还包括java,这样您就可以在php容器中执行jar

我希望这能回答你的问题,如果有任何不清楚的地方请告诉我

$command = "java -jar '/var/www/html/jar/MyFile.jar' command"
exec($command, $output, $return);