如何在Dockerfile中运行多个JAR?

时间:2018-12-18 07:04:52

标签: java dockerfile

我有一个带有三个主要类的简单Java代码。我想从中构建3个不同的JAR,然后将这些JAR添加到我的Dockerfile中,并在不同的Docker映像中调用每个JAR。我该怎么办?

2 个答案:

答案 0 :(得分:0)

Docker run命令接受一个可选的COMMAND参数。您只需在Docker映像中添加3个JAR,然后指定要通过Docker命令运行的JAR。

另一方面,如果您愿意为单个Dockerfile创建多个映像,则docker当前支持多阶段构建(实际上创建多个映像),但不允许您标记每个映像。

答案 1 :(得分:0)

添加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

更改您的Dockerfile:

# 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"]