В Docker два контейнера работают совершенно отдельно друг от друга, поэтому, когда вы используете exec
, он попытается выполнить эту команду в вашем php контейнере, а не в контейнере Java.Единственный способ запустить процесс в другом контейнере - через HTTP-запрос, где в контейнере Java работает API, который перехватывает этот вызов и, соответственно, выполняет правильный JAR.
Другим решением может быть использование большегоизображение для вашего php-контейнера, который также включает java, чтобы вы могли выполнить jar внутри вашего php-контейнера.
Я надеюсь, что это ответ на ваш вопрос, если что-то неясно, пожалуйста, дайте мне знать.