运行Docker镜像时Spring Boot应用Jar文件无法访问求助
Docker运行Spring Boot镜像Jar无法访问问题解决
核心问题修正
你的Dockerfile中ENTRYPOINT指令的Jar路径末尾多了一个空格,这会导致系统识别的文件名带空格,无法找到正确的Jar文件。
修正后的Dockerfile:
FROM openjdk:14-jdk-alpine MAINTAINER admin ADD ./target/service-registry.jar /opt/app/service-registry.jar WORKDIR /opt/app ENV PATH="${PATH}:${JAVA_HOME}/bin" EXPOSE 8761 ENTRYPOINT [ "java", "-jar", "/opt/app/service-registry.jar" ]
额外排查步骤
- 确认本地
./target/service-registry.jar文件存在,且构建镜像时路径无误 - 构建完成后,可通过以下命令检查镜像内Jar文件是否存在:
docker run --rm <你的镜像ID或名称> ls /opt/app - 若遇到权限问题,可在Dockerfile中添加权限设置:
RUN chmod +x /opt/app/service-registry.jar
内容的提问来源于stack exchange,提问作者Yogesh Kumar Gupta
相关产品推荐
相关产品推荐

