当前位置:   article > 正文

解决部署时:出现 “Unable to access jarfile xxx.jar“的问题_docker unable to access jarfile

docker unable to access jarfile

我的启动命令是这样的:

  1. 构建 docker build -t tp_m_system:1.1 .
  2. docker run --network=smart_tourism_platform -d -p 9211:9211 -v /logs/docker_service_log/smart_tourism_platform:/opt/smart_tourism_platform/logs tp_m_system:1.1

然后也启动成功了 返回了一个pid

但是 docker ps的时候 并未发现有这个容器 但是docker ps -a会有

然后我就看一下日志: 结果报错了

此时你需要看一下你的dockerfile文件:  这是原本的dockerfile文件:

  1. # stp_auth 网关开启当前网段的ip
  2. # 创建 网桥 docker network create --driver bridge smart_tourism_platform
  3. # 日志存储地址 /logs/docker_service_log/smart_tourism_platform
  4. # 构建 docker build -t tp_m_system:1.1 .
  5. # docker run --network=smart_tourism_platform -d -p 9211:9211 -v /logs/docker_service_log/smart_tourism_platform:/opt/smart_tourism_platform/logs tp_m_system:1.1
  6. FROM openjdk:8-jre
  7. MAINTAINER inspur
  8. VOLUME /logs/docker_service_log/smart_tourism_platform
  9. RUN mkdir -p /opt/smart_tourism_platform/service/
  10. WORKDIR /opt/smart_tourism_platform/service/
  11. ADD ./jar/inspur-modules-system.jar /opt/smart_tourism_platform/inspur-modules-system.jar
  12. ENTRYPOINT ["java","-Xmx1024m","-jar","inspur-modules-system.jar"]
  13. EXPOSE 9211

我们发现在dockerfile 中,将 inspur-modules-system.jar 复制到容器中的 /opt/smart_tourism_platform/ 目录下,但是在 ENTRYPOINT 中却使用了相对路径 inspur-modules-system.jar。由于容器内的工作目录被设置为 /opt/smart_tourism_platform/service/,因此容器启动时无法找到正确的 jar 文件路径。

所以我们改一下ENTRYPOINT 中的 jar 文件路径,确保它与实际的 jar 文件路径匹配 如:

ENTRYPOINT ["java", "-Xmx1024m", "-jar", "/opt/smart_tourism_platform/inspur-modules-system.jar"]

 然后再按照原来的命令就能启动了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/661519
推荐阅读
相关标签
  

闽ICP备14008679号