Docker无法运行Java应用程序

时间:2015-10-05 19:46:12

标签: java docker

我有以下项目目录结构:

myapp/
    grails-app/ (its a grails app, derrrr)
    target/
        myapp.jar (built by grails)
    myapp.yml

...其中target/myapp.jar是可执行JAR(实际上是运行嵌入式Jetty的自包含Web应用程序),其中myapp.yml是启动时所需的配置文件。

这是我的Dockerfile

FROM java:8
MAINTAINER My Name <myname@example.com>

WORKDIR /

ADD ./target/myapp.jar /myapp.jar
ADD ./myapp.yml /myapp.yml

EXPOSE 8080

CMD ["java", "-jar myapp.jar myapp.yml"]

然后我使用docker build -t myapp .构建图像。它成功构建我然后尝试通过docker run myapp运行图像并获取:

Unrecognized option: -jar myapp.jar myapp.yml
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

知道这里可能出现什么问题,以及我需要做些什么来解决这个问题或对其进行故障排除?

1 个答案:

答案 0 :(得分:14)

您将所有参数作为一个参数提供,但它们是不同的。你应该做

CMD ["java", "-jar", "myapp.jar", "myapp.yml"]