Запуск проекта Gretty с контейнером Gradle Docker - PullRequest
0 голосов
/ 26 января 2020

Возможно ли запустить Gretty проектов в Docker Gradle контейнере?

Обычно задача Gretty tomcatRun запускает сервер приложений Tomcat, и вы можете просматривать приложение на http://localhost: 8080 / имя приложения . С Docker Gradle image задача успешно запускается, но контейнер сразу после этого завершается.

Шаги для воспроизведения проблемы:

  1. Установка Docker.
  2. Клон https://github.com/haba713/hello_gretty.
  3. cd hello_gretty
  4. Установка оболочки Gradle: docker run --rm -u gradle -v "$PWD":/home/gradle/project -w /home/gradle/project gradle gradle wrapper
  5. Запустить задачу tomcatRun: ./gradlew tomcatRun
  6. Просмотр http://localhost: 8080 / hello_gretty .
  7. Для завершения задачи нажмите клавишу ввода на терминале.
  8. Выполнить задача tomcatRun с Gradle Docker изображение: docker run --rm -u gradle -p 8080:8080 -v "$PWD":/home/gradle/project -w /home/gradle/project gradle gradle tomcatRun
  9. Задача tomcatRun запущена (занимает некоторое время), но по какой-то причине контейнер завершается сразу после этого. Возможно, задача была выполнена без нажатия какой-либо клавиши.

Я также создал Docker вопрос о проблеме.

1 Ответ

0 голосов
/ 26 января 2020

Добавление команды -t или --tty к docker позволяет запустить Tomcat. Также добавьте -i или --interactive, если хотите остановить Tomcat «любой клавишей», как говорит Гретти: «Нажмите любую клавишу, чтобы остановить сервер».

docker run --rm -u gradle -it -p 8080:8080 -v "$PWD":/home/gradle/project -w /home/gradle/project gradle gradle tomcatRun

Спасибо Вы Дэвид Мейз за помощь.

...