【问题标题】:docker image running not able to access api in spring boot gradledocker镜像运行无法访问spring boot gradle中的api
【发布时间】:2020-04-18 13:07:40
【问题描述】:

我已经使用命令gradlew jibDockerBuild创建了一个spring boot gradle项目的镜像

我通过这个命令docker run -p 8082:8082 demo:0.0.1-SNAPSHOT运行镜像。镜像在8082端口上运行成功。在项目中application.properties server.port只有8082。

我无法访问 api,因此我已通过命令 netstat -a -n -o | find "8082" 在我的机器上检查此进程是否在端口上运行。该端口上没有进程正在运行。

【问题讨论】:

  • 您是否看到您的 docker 进程正在使用 docker ps 命令运行?
  • @sam3131 是的,它正在运行
  • 你能用 sudo 重新运行你的 netstat 命令并检查它是否出现吗? docker 可以使用特权访问运行
  • 我用的是windows机器
  • 你能在windows机器浏览器中试试192.168.99.100:8082

标签: spring spring-boot docker gradle


【解决方案1】:

当您通过Docker Toolbox 在Windows 上安装Docker 时,默认Docker 将在192.168.99.100 IP (DOCKER_IP) 上运行。

您可以使用主机(即 Windows)上的 DOCKER_IP 访问在 docker 内运行的所有容器。

阅读更多here

关于您的映射查询

你已经映射了端口,这意味着你的容器端口将被映射到DOCKER_IP:PORT

如果您在 Linux 或 Mac 上使用 Docker,它将被映射到 localhost:port,因为在这些情况下 Docker 在 localhost 上运行。

至少对于 Docker Toolbox,Windows 并非如此。

根据您的配置,您可以在HOST 机器上通过点击访问您的应用程序

http://192.168.99.100:8082 

【讨论】:

猜你喜欢
  • 2019-01-16
  • 2021-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-16
  • 1970-01-01
相关资源
最近更新 更多