Как я могу запустить несколько JAR в Dockerfile? - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть простой код Java с тремя основными классами.Я хочу создать из него 3 разных JAR, а затем добавить эти JAR в мой Dockerfile и вызвать каждый JAR в отдельном образе Docker.Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Добавление bash-скрипта для выполнения нескольких команд и блоков:

#start.sh
/usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar MyFirst.jar &
/usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar MySecond.jar
... etc

Изменение файла Docker:

# base image is java:8 (ubuntu)
FROM java:8

    # add files to image 
    ADD first.jar .
    ADD second.jar .
    ...
    ADD start.sh .

    # start on run
    CMD ["bash", "start.sh"]
0 голосов
/ 18 декабря 2018

Команда Docker run принимает необязательный аргумент COMMAND.Вы можете просто добавить 3 JAR-файла в образ Docker и указать, какие из них запускать с помощью команды Docker.

С другой стороны, если вы хотите создать несколько образов одного Dockerfile, в настоящее время Docker поддерживает многоэтапную работу.сборки (которые на самом деле создают несколько изображений), но не позволяют пометить каждое из них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...