【问题标题】:Running Spring boot application inside docker container在 docker 容器中运行 Spring Boot 应用程序
【发布时间】:2018-07-11 08:15:07
【问题描述】:

我从简单的 spring-boot 应用程序中创建了一个映像,并将 tomcat 的端口设置为 7000,当我运行映像并尝试在本地访问服务时,我没有得到任何响应。

这里是dockerfile的内容

FROM java:8
VOLUME /tmp
ADD  /target/demo-1.0-SNAPSHOT.jar /app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

我在这里遗漏了什么吗(我是 docker 新手,我只是在 spring boot 示例 docker 中使用了该文件并创建了图像并卡在这里。)

【问题讨论】:

  • 请添加更多信息,例如您遇到了什么错误,您是否使用虚拟框来运行 docker?
  • 是的,docker 带有 hyper v - 错误,例如“无法访问此站点”
  • 这个问题解决了吗?
  • 还没有,如果对你有帮助的话(docker安装在windows 10中)
  • 这个链接解决了我的问题stackoverflow.com/questions/40349893/…

标签: java spring docker spring-boot dockerfile


【解决方案1】:

您需要添加: 曝光:7000 到您的 docker 文件中,并在运行 docker 映像时密切关注控制台日志信息,以查看您的应用在哪个端口上提供服务。

有用的参考: https://www.youtube.com/watch?v=FlSup_eelYE

祝你好运!

【讨论】:

    【解决方案2】:

    除了@Van0SS 提到的从 docker 发布端口之外,您还需要创建一个端口转发规则。 打开 virtualbox 并导航到 VM -> 设置 -> 网络 -> 高级 -> 端口转发 创建新规则:

    Name : <Anything - Purpose of port>
    Protocol: TCP
    HostIP: 127.0.0.1
    Host port: 7000
    Guest Port: 7000
    

    【讨论】:

      【解决方案3】:

      不确定这只是一个问题,但至少您必须在 docker 中发布您的端口。为此,运行带有标志的容器:

      -p 7000:7000

      尝试访问 :7000 端口。

      【讨论】:

      • 请分享您使用的手册以及 demo-1.0-SNAPSHOT.jar 的来源。
      • 你在VirtualBox中创建了端口转发规则吗?
      • @Pramod 不,请告诉我,如果我需要这样做,我观看了一个 youtube 教程,其中我遵循了与此类似的所有步骤(我为 windows 安装了 docker ce,后来安装了 hyper- v 当它提示我时)
      猜你喜欢
      • 2018-08-16
      • 2019-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-19
      • 2021-08-12
      • 2019-04-28
      • 2017-07-04
      • 1970-01-01
      相关资源
      最近更新 更多