【问题标题】:How to start a fat jar in docker?如何在docker中启动一个fat jar?
【发布时间】:2018-04-27 12:54:25
【问题描述】:

我想在 Docker 容器中启动我的胖 JAR

Docker 文件

FROM java:8-jre
COPY config.yml /opt/hello/
COPY build/libs/Dockerwizard.jar /opt/hello/
EXPOSE 80
WORKDIR /opt/hello
CMD ["java", "-Xms128m", "-Xmx1500m", "-Dfile.encoding=UTF-8", "-jar", "Dockerwizard.jar", "server", "config.yml"]

每次跑步

docker build --tag=myapp .

docker run -p 18080:8080 -t -i myapp

我收到消息

Error: Unable to access jarfile Dockerwizard.jar

我该如何解决这个问题?

【问题讨论】:

    标签: java docker


    【解决方案1】:

    上面写着:

    COPY build/libs/Dockerwizard.jar /opt/hello/
    ...WORKDIR /opt/chat
    

    因此,您将 Jar 放入 /opt/hello,但随后您想从 /opt/chat 运行它。

    也许您想研究使用一致路径信息。除此之外,当您不使用 java 的 -cp 选项时,您总是会遇到 CLASSPATH 可能不完整的问题。所以尝试添加 -cp . 例如。

    【讨论】:

    • 抱歉有错字。就我而言,我搞砸了
    • 别担心,猫。我需要一些时间才能接受你的回答,但我会做到的。谢谢你让我轻松。
    【解决方案2】:

    尝试更改 Dockerfile 中的 WORKDIR

    WORKDIR /opt/chat 不正确

    应该是/opt/hello

    更新

    您已更新问题并将 /chat 重命名为 /hello 各处 - 因此您已更正您的错误/错误

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-21
      • 2013-02-18
      • 2016-05-24
      • 2012-10-31
      • 1970-01-01
      • 2021-07-05
      • 2017-04-06
      • 2015-04-12
      相关资源
      最近更新 更多