【问题标题】:Unable to access jarfile from docker run command for java maven project无法从 java maven 项目的 docker run 命令访问 jarfile
【发布时间】:2020-03-17 15:34:16
【问题描述】:

使用 docker 文件为 maven 项目构建 docker 镜像

当尝试运行 docker run 时出现错误提示无法访问 jarfile。

有人可以帮忙解决什么问题吗?

FROM openjdk:8-jre-alpine as release
RUN addgroup -g 1001 -S user1 && user1 -u 1001 -S user1 -G user1
WORKDIR /home/app
COPY --from=builder /home/app/service-1.0.0.jar .
RUN chown -R user1:user1 /home/app
USER user1
ENTRYPOINT  ["java", "-jar" ,"/home/app/service-1.0.0.jar"]

但是当我使用本地配置文件作为构建挂载进行 docker 运行时

docker run -it --mount type=bind,source=D:/Java/service/docker/config,target=/home/app services 

无法访问 jarfile /home/app/service-1.0.0.jar

有人可以帮忙吗?或者我做错了什么?

【问题讨论】:

    标签: java maven docker


    【解决方案1】:

    我不确定您是否正在寻找多阶段 docker 构建。如果没有,您不需要使用“COPY --from=builder”,因为它会将构建工件从上一个阶段复制到这个新阶段。如果是单阶段的 docker build,你可以按如下方式使用副本 -

    复制/home/app/service-1.0.0.jar .

    【讨论】:

    • 这是一个多阶段构建,所以我使用了“COPY—from=builder”
    【解决方案2】:

    能够解决同样的问题,问题是由于大量配置文件没有正确发生。

    而不是 docker run -it --mount type=bind,source=D:/Java/service/docker/config,target=/home/app services 将其更改为 docker run -it --mount type=bind,source=D:/Java/service/docker/config/app.config,target=/home/app services 这使服务加载和工作

    【讨论】:

      猜你喜欢
      • 2019-11-17
      • 2018-11-07
      • 2018-12-17
      • 2013-10-31
      • 2013-09-27
      • 1970-01-01
      • 1970-01-01
      • 2016-10-24
      • 2019-06-03
      相关资源
      最近更新 更多