В данном примере показан, как запустить 2 JAR файла в одном контейнере.
В качестве базового образа будем использовать "phusion/baseimage"
Для начала необходимо создать скрипты запуска, в для удобства в примере они будут называться "start-first.sh" и "start-second.sh", в них описываем запуск JAR файлов, к примеру
start-first.sh
#!/bin/bash java -jar /usr/src/app/first.jar
start-second.sh
#!/bin/bash java -jar /usr/src/app/second.jar
И создаем Dockerfile
FROM phusion/baseimage:latest CMD ["/sbin/my_init"] RUN add-apt-repository ppa:openjdk-r/ppa && \ apt-get update -q && \ apt install -y openjdk-11-jdk COPY ./my_application /usr/src/app WORKDIR /usr/src/app # Add first service RUN mkdir /etc/service/first ADD start-first.sh /etc/service/first/run RUN chmod +x /etc/service/first/run # Add second service RUN mkdir /etc/service/second ADD start-second.sh /etc/service/second/run RUN chmod +x /etc/service/second/run # Clean up RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*