Spring boot 无法访问docker容器中运行的maven spring启动应用程序

Spring boot 无法访问docker容器中运行的maven spring启动应用程序,spring-boot,docker,dockerfile,portforwarding,docker-container,Spring Boot,Docker,Dockerfile,Portforwarding,Docker Container,我已经从maven spring boot应用程序创建了一个docker文件,创建了一个docker映像并将其推送到我的docker注册表 FROM openjdk:8 ADD target/spring-boot-lazy-init-example-0.0.1-SNAPSHOT.jar spring-boot-lazy-init-example-0.0.1-SNAPSHOT.jar EXPOSE 8080 ENTRYPOINT ["java", "-jar", "spring-boot-laz

我已经从maven spring boot应用程序创建了一个docker文件,创建了一个docker映像并将其推送到我的docker注册表

FROM openjdk:8
ADD target/spring-boot-lazy-init-example-0.0.1-SNAPSHOT.jar spring-boot-lazy-init-example-0.0.1-SNAPSHOT.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "spring-boot-lazy-init-example-0.0.1-SNAPSHOT.jar"]
这是我在docker文件中编写的内容,并创建了docker图像。我已经更改了标记并将其推送到docker hub存储库中,我将在Kubernetes集群中使用该存储库进行部署,但在此之前,我已将此docker映像用于测试目的。我已经使用这个docker映像运行了一个容器,并且我还完成了端口转发,因为默认情况下应用程序运行在8080端口上

ubuntu@dockerimage-vm:~/spring-boot-lazy-init-example$ sudo docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
96963/spring-boot-new      v1                  1e4a8aab28f8        3 days ago          526MB
96963/docker-spring-boot   v1                  2f2a3b1c23e8        8 days ago          526MB
docker-spring-boot-new     latest              2f2a3b1c23e8        8 days ago          526MB
openjdk                    8                   f8146facf376        2 weeks ago         488MB

ubuntu@dockerimage-vm:~$ sudo docker run -it 96963/spring-boot-new:v1 -p 8085:8080

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::             (v2.2.0.M1)

2020-01-17 11:38:21.417  INFO 1 --- [           main] t.l.SpringBootLazyInitExampleApplication : Starting SpringBootLazyInitExampleApplication v0.0.1-SNAPSHOT on 03ab2d24c370 with PID 1 (/spring-boot-lazy-init-example-0.0.1-SNAPSHOT.jar started by root in /)
2020-01-17 11:38:21.426  INFO 1 --- [           main] t.l.SpringBootLazyInitExampleApplication : No active profile set, falling back to default profiles: default
2020-01-17 11:38:23.355  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode.
2020-01-17 11:38:23.451  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 67ms. Found 0 repository interfaces.
2020-01-17 11:38:24.391  INFO 1 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$cf2fe8c5] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2020-01-17 11:38:25.625  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2020-01-17 11:38:26.191  INFO 1 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2020-01-17 11:38:26.192  INFO 1 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.16]
2020-01-17 11:38:26.258  INFO 1 --- [           main] o.a.catalina.core.AprLifecycleListener   : The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
2020-01-17 11:38:26.486  INFO 1 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2020-01-17 11:38:26.489  INFO 1 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 4929 ms
2020-01-17 11:38:27.532  INFO 1 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2020-01-17 11:38:28.182  INFO 1 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2020-01-17 11:38:28.398  INFO 1 --- [           main] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [
    name: default
    ...]
2020-01-17 11:38:28.627  INFO 1 --- [           main] org.hibernate.Version                    : HHH000412: Hibernate Core {5.4.0.Final}
2020-01-17 11:38:28.640  INFO 1 --- [           main] org.hibernate.cfg.Environment            : HHH000206: hibernate.properties not found
2020-01-17 11:38:29.171  INFO 1 --- [           main] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.1.0.Final}
2020-01-17 11:38:29.438  INFO 1 --- [           main] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
2020-01-17 11:38:30.312  INFO 1 --- [           main] o.h.t.schema.internal.SchemaCreatorImpl  : HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@1b11171f'
2020-01-17 11:38:30.337  INFO 1 --- [           main] o.h.e.t.j.p.i.JtaPlatformInitiator       : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
2020-01-17 11:38:30.339  INFO 1 --- [           main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2020-01-17 11:38:30.694  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2020-01-17 11:38:30.701  INFO 1 --- [           main] t.l.SpringBootLazyInitExampleApplication : Started SpringBootLazyInitExampleApplication in 10.338 seconds (JVM running for 11.976)
2020-01-17 12:08:38.990  WARN 1 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Thread starvation or clock leap detected (housekeeper delta=28m10s615ms885µs724ns)
我还尝试从本地机器运行应用程序,我能够访问url


但是,当我试图访问docker容器中运行的应用程序时,我无法访问。我从192.168.64.3:8085/lazy访问它(8085,因为我已经在该端口进行了端口转发)

大家好,欢迎来到SO。在代码和命令输出中使用屏幕截图是一种不好的做法:它们的可读性比标准文本差得多,没有人可以复制粘贴它们(用于测试或搜索),并且它们不能被搜索引擎索引(内部或外部)。你能编辑你的问题并用格式化的代码块替换那些代码/输出截图吗?谢谢。
-p 8085:8080
正在将本地主机(即运行docker守护程序的主机)的端口8085映射到docker容器上的端口8080。您正在容器上的dockerfile端口8085中公开。如果需要,请仔细检查并更新您的应用程序应该在容器上使用的端口,好吗?@Zeitounator嘿,谢谢,我已经用所需的代码块更改了特定的屏幕截图,以前的docker文件是错误的,我也在这里更新了相同的截图。我在docker容器上公开8080端口,并将其用于端口转发。我已经在docker文件中进行了更改。只要您的docker运行在192.168.64.3上,并且192.168.64.3是您的主机IP,它就应该可以工作。请检查…嗨,欢迎来到SO。在代码和命令输出中使用屏幕截图是一种不好的做法:它们的可读性比标准文本差得多,没有人可以复制粘贴它们(用于测试或搜索),并且它们不能被搜索引擎索引(内部或外部)。你能编辑你的问题并用格式化的代码块替换那些代码/输出截图吗?谢谢。
-p 8085:8080
正在将本地主机(即运行docker守护程序的主机)的端口8085映射到docker容器上的端口8080。您正在容器上的dockerfile端口8085中公开。如果需要,请仔细检查并更新您的应用程序应该在容器上使用的端口,好吗?@Zeitounator嘿,谢谢,我已经用所需的代码块更改了特定的屏幕截图,以前的docker文件是错误的,我也在这里更新了相同的截图。我在docker容器上公开8080端口,并将其用于端口转发。我已经在docker文件中进行了更改。只要您的docker运行在192.168.64.3上,并且192.168.64.3是您的主机IP,它就应该可以工作。请检查。。。