赞
踩
我的启动命令是这样的:
- 构建 docker build -t tp_m_system:1.1 .
-
- 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文件:
- # stp_auth 网关开启当前网段的ip
- # 创建 网桥 docker network create --driver bridge smart_tourism_platform
- # 日志存储地址 /logs/docker_service_log/smart_tourism_platform
- # 构建 docker build -t tp_m_system:1.1 .
- # 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
- FROM openjdk:8-jre
- MAINTAINER inspur
- VOLUME /logs/docker_service_log/smart_tourism_platform
- RUN mkdir -p /opt/smart_tourism_platform/service/
- WORKDIR /opt/smart_tourism_platform/service/
- ADD ./jar/inspur-modules-system.jar /opt/smart_tourism_platform/inspur-modules-system.jar
- ENTRYPOINT ["java","-Xmx1024m","-jar","inspur-modules-system.jar"]
- 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"]
然后再按照原来的命令就能启动了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。