Возникли проблемы с запуском концентратора селена в докере из сценария оболочки - PullRequest
0 голосов
/ 05 ноября 2019

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

#!/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 ]

0 голосов
/ 05 ноября 2019

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

stdin_open: true 
tty: true

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

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

0 голосов
/ 05 ноября 2019

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

String cmd="./docker_start.sh";
Process p = Runtime.getRuntime().exec(cmd);
p.waitFor(5,TimeUnit.SECONDS);
...