Возникли проблемы с запуском хаба селена в докере из сценария оболочки

Код сценария оболочки:

#!/bin/bash
cd /Users/lee/Documents/DockerValidation/
docker-compose -f docker-compose.yaml up --force-recreate --scale chrome=3 >>output.txt

Код для вызова сценария оболочки из java

Process p = Runtime.getRuntime().exec("./docker_start.sh");
p.waitFor();

приведенный выше код запускает сценарий оболочки, и концентратор селена работает. но для того, чтобы концентратор работал, процесс должен продолжаться. Если я не дам p.waitFor(), мой скрипт выполняется быстро, а хаб не работает.

Мне нужна помощь в понимании того, как поддерживать мой хаб в рабочем состоянии и в то же время запускать этот процесс в фоновом режиме. Или любые другие альтернативы для достижения моей цели.

2 ответа

Вам нужно добавить это в файл docker-compose

stdin_open: true 
tty: true

,попробуй еще раз.

https://docs.docker.com/compose/reference/run

Я пытался запустить свой селен-концентратор, чтобы я мог начать выполнять свои тестовые примеры. Я сделал следующее, и у меня это сработало. Я дал время подождать, похоже, это была проблема в моем случае.

String cmd="./docker_start.sh";
Process p = Runtime.getRuntime().exec(cmd);
p.waitFor(5,TimeUnit.SECONDS);
Другие вопросы по тегам