Запуск двух сервисов в одном контейнере docker - PullRequest
0 голосов
/ 21 июня 2020

Несмотря на то, что docker предназначен для запуска одной службы в одном контейнере, по какой-то причине я хочу запустить две службы, которые взаимодействуют друг с другом в одном контейнере. У меня есть две службы весенней загрузки: Demo и Demo2

Для этого я создал сценарий оболочки для запуска двух jar-файлов двух приложений, а затем передал этот сценарий в точку входа Dockerfile.

сценарий оболочки ( invoke. sh)

#!/bin/bash
java -jar app.jar && java -jar app2.jar

Dockerfile

FROM openjdk:8-jdk-alpine
VOLUME /tmp

COPY demo/demo/target/demo-0.0.1-SNAPSHOT.jar app.jar
COPY demo2/demo2/target/demo2-0.0.1-SNAPSHOT.jar app2.jar

COPY invoke.sh invoke.sh

ENTRYPOINT ["sh","/invoke.sh"]

Создание образа выполнено успешно. Но когда я запускаю этот образ, он запускает только первое приложение весенней загрузки. вывод командной строки

Почему не запускается app2.jar? Что мне делать, чтобы запустить оба приложения? Мы будем очень благодарны за любую помощь в решении этой проблемы.

1 Ответ

0 голосов
/ 21 июня 2020

Второе приложение запустится после выхода первого приложения со статусом выхода 0 .

 #!/bin/bash
java -jar app.jar && java -jar app2.jar

Это гарантирует последовательное выполнение файлов jar.

...