【问题标题】:Docker unable to access jar file without docker-composeDocker 无法在没有 docker-compose 的情况下访问 jar 文件
【发布时间】:2021-05-15 12:17:15
【问题描述】:

据我所知,我的查询只得到了this 的答案,但不幸的是我没有 docker-compose.yml 我只是尝试使用下面的普通 Dockerfile 是我的 dockerFile。

FROM openjdk:8-jre-alpine
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} ebiPorjectJava.jar
ENTRYPOINT ["java","-jar","/ebiProjectJava.jar"]

但是通过下面的命令构建成功了。

docker build -t ebiproject .

但是当我尝试运行 docker 时,它说无法访问 jar 文件

docker run -p 3000:3000 ebiproejct

但它说无法访问 jar

我在 windows 上运行 docker,我有 spring boot 应用程序要运行

我更新了以下一个:

FROM openjdk:8-jre-alpine
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} /ebiProjectJava.jar
ENTRYPOINT ["java","-jar","/ebiProjectJava.jar"]

但现在我收到损坏的错误:

【问题讨论】:

  • 你的问题能像错字一样简单吗? COPY ${JAR_FILE} ebiPorjectJava .jar vs ENTRYPOINT ["java","-jar"," /ebiProjectJava.jar "]
  • 更新了 ENTRYPOINT 但仍然是同样的问题我看到无法访问 jarfile ebiProjectJava.jar 没有 /
  • 哎呀,我确实打错字了,但现在出现错误

标签: java docker maven


【解决方案1】:

ARG JAR_FILE

希望您将 jar_file 的路径作为 docker run 参数传递

否则什么都不会复制到这个地方,因此java jar将无法运行该jar。

看看这个:https://vsupalov.com/docker-env-vars/

【讨论】:

  • 你建议通过什么硬代码jar文件路径?
  • 对不起,我对 docker 完全陌生,所以不确定我是否关注了
  • 明白了我应该做 ARG JAR_FILE=target/*.jar
  • 无需道歉。你解决了吗?
【解决方案2】:

在这种情况下,您可以使用以下命令进入您的容器:

docker run --rm -it <container_name> <image_name> <command>

您可以使用bashashsh 作为

进入容器后,您可以在其中进行检查、运行或任何测试。

【讨论】:

    猜你喜欢
    • 2018-08-19
    • 2018-10-17
    • 2018-08-17
    • 2019-04-02
    • 1970-01-01
    • 2020-08-24
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    相关资源
    最近更新 更多