Docker容器中Spring Boot应用启动成功但无法访问问题求助
Spring Boot + Kotlin 应用Docker部署后无法访问排查
我使用Spring Boot和Kotlin编写了一个简单的后端应用,本地启动均正常,但部署到Docker容器后无法访问,具体情况如下:
- 通过
./gradlew bootRun启动应用后可正常访问 - 通过
java -jar demo.jar启动应用后可正常访问 - 部署到Docker容器后,
docker logs containerID显示应用启动成功(日志如下),但无法访问应用
2022-11-12 15:50:33.017 INFO 1 --- [ main] com.example.demo.DemoApplicationKt : Starting DemoApplicationKt using Java 11.0.16 on eeb1dfe09e6a with PID 1 (/Demo-0.0.1.jar started by root in /) 2022-11-12 15:50:33.029 INFO 1 --- [ main] com.example.demo.DemoApplicationKt : No active profile set, falling back to 1 default profile: "default" 2022-11-12 15:50:34.315 INFO 1 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode 2022-11-12 15:50:34.320 INFO 1 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data MongoDB repositories in DEFAULT mode. 2022-11-12 15:50:34.346 INFO 1 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 15 ms. Found 0 MongoDB repository interfaces. 2022-11-12 15:50:35.564 INFO 1 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8000 (http) 2022-11-12 15:50:35.595 INFO 1 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2022-11-12 15:50:35.596 INFO 1 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.68] 2022-11-12 15:50:35.787 INFO 1 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2022-11-12 15:50:35.788 INFO 1 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2628 ms 2022-11-12 15:50:38.155 WARN 1 --- [ main] o.s.b.a.m.MustacheAutoConfiguration : Cannot find template location: classpath:/templates/ (please add some templates, check your Mustache configuration, or set spring.mustache.check-template-location=false) 2022-11-12 15:50:38.346 INFO 1 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8000 (http) with context path '' 2022-11-12 15:50:38.412 INFO 1 --- [ main] com.example.demo.DemoApplicationKt : Started DemoApplicationKt in 6.588 seconds (JVM running for 7.745)
Dockerfile 内容
FROM openjdk:11 COPY /build/libs/demo-0.0.1-SNAPSHOT.jar Demo-0.0.1.jar EXPOSE 8000 ENTRYPOINT ["java","-jar","/Demo-0.0.1.jar"]
构建镜像和运行容器的命令
docker build -t demo . docker run -dp 8000:8000 demo:latest
无法定位问题,恳请协助排查。
更新
访问localhost时显示:
This site can’t be reached localhost refused to connect. Try: Checking the connection Checking the proxy and the firewall ERR_CONNECTION_REFUSED
已尝试将 -dp 8000 改为 -d -p 8000,但问题依旧。
内容的提问来源于stack exchange,提问作者lifeodyssey
相关产品推荐
相关产品推荐

