Spring boot docker 仅在 8080 上运行?

问题描述 投票:0回答:2

我已经在docker上部署了我的spring boot应用程序,但是当我尝试运行它时,它只在8080端口上运行,而不是在任何其他端口上运行,即从日志中的3000端口我可以推断出它与内部tomcat监听有关8080端口。谁能告诉我里面发生了什么?

下面是我在8080上运行时的日志

2021-02-14 05:53:36.156  INFO 1 --- [           main] com.ebi.uk.EbiProjectJavaApplication     : Starting EbiProjectJavaApplication v0.0.1-SNAPSHOT using Java 1.8.0_212 on 8a710deb6884 with PID 1 (/ebiProjectJava.jar started by root in /)
2021-02-14 05:53:36.160  INFO 1 --- [           main] com.ebi.uk.EbiProjectJavaApplication     : No active profile set, falling back to default profiles: default
2021-02-14 05:53:37.426  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2021-02-14 05:53:37.663  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 224 ms. Found 1 JPA repository interfaces.
2021-02-14 05:53:38.750  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2021-02-14 05:53:38.770  INFO 1 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2021-02-14 05:53:38.771  INFO 1 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.41]
2021-02-14 05:53:38.902  INFO 1 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2021-02-14 05:53:38.903  INFO 1 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2621 ms
2021-02-14 05:53:39.139  INFO 1 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2021-02-14 05:53:39.648  INFO 1 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2021-02-14 05:53:39.732  INFO 1 --- [           main] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [name: default]
2021-02-14 05:53:39.817  INFO 1 --- [           main] org.hibernate.Version                    : HHH000412: Hibernate ORM core version 5.4.27.Final
2021-02-14 05:53:39.990  INFO 1 --- [           main] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
2021-02-14 05:53:40.149  INFO 1 --- [           main] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
2021-02-14 05:53:40.898  INFO 1 --- [           main] o.h.e.t.j.p.i.JtaPlatformInitiator       : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
2021-02-14 05:53:40.909  INFO 1 --- [           main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2021-02-14 05:53:41.299  WARN 1 --- [           main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2021-02-14 05:53:41.595  INFO 1 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2021-02-14 05:53:42.091  INFO 1 --- [           main] o.s.s.web.DefaultSecurityFilterChain     : Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@7b94089b, org.springframework.security.web.context.SecurityContextPersistenceFilter@ee86bcb, org.springframework.security.web.header.HeaderWriterFilter@1f010bf0, org.springframework.security.web.authentication.logout.LogoutFilter@bcef303, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@33308786, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@7f132176, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@6ed3f258, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@7ca20101, org.springframework.security.web.session.SessionManagementFilter@10cf09e8, org.springframework.security.web.access.ExceptionTranslationFilter@19b93fa8, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@71812481]
2021-02-14 05:53:42.410  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2021-02-14 05:53:42.424  INFO 1 --- [           main] com.ebi.uk.EbiProjectJavaApplication     : Started EbiProjectJavaApplication in 6.864 seconds (JVM running for 7.751)
2021-02-14 05:54:13.163  INFO 1 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2021-02-14 05:54:13.164  INFO 1 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2021-02-14 05:54:13.167  INFO 1 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 3 ms

下面是我尝试在 3000 上运行时的日志

2021-02-14 05:50:58.993  INFO 1 --- [           main] com.ebi.uk.EbiProjectJavaApplication     : Starting EbiProjectJavaApplication v0.0.1-SNAPSHOT using Java 1.8.0_212 on b0f62c63fde2 with PID 1 (/ebiProjectJava.jar started by root in /)
2021-02-14 05:50:58.997  INFO 1 --- [           main] com.ebi.uk.EbiProjectJavaApplication     : No active profile set, falling back to default profiles: default
2021-02-14 05:51:00.304  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2021-02-14 05:51:00.566  INFO 1 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 243 ms. Found 1 JPA repository interfaces.
2021-02-14 05:51:01.714  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2021-02-14 05:51:01.734  INFO 1 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2021-02-14 05:51:01.734  INFO 1 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.41]
2021-02-14 05:51:01.816  INFO 1 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2021-02-14 05:51:01.817  INFO 1 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2706 ms
2021-02-14 05:51:02.060  INFO 1 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2021-02-14 05:51:02.534  INFO 1 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2021-02-14 05:51:02.632  INFO 1 --- [           main] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [name: default]
2021-02-14 05:51:02.723  INFO 1 --- [           main] org.hibernate.Version                    : HHH000412: Hibernate ORM core version 5.4.27.Final
2021-02-14 05:51:02.909  INFO 1 --- [           main] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
2021-02-14 05:51:03.163  INFO 1 --- [           main] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
2021-02-14 05:51:04.045  INFO 1 --- [           main] o.h.e.t.j.p.i.JtaPlatformInitiator       : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
2021-02-14 05:51:04.055  INFO 1 --- [           main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2021-02-14 05:51:04.480  WARN 1 --- [           main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2021-02-14 05:51:04.799  INFO 1 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2021-02-14 05:51:05.330  INFO 1 --- [           main] o.s.s.web.DefaultSecurityFilterChain     : Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@7ca20101, org.springframework.security.web.context.SecurityContextPersistenceFilter@177bea38, org.springframework.security.web.header.HeaderWriterFilter@40db2a24, org.springframework.security.web.authentication.logout.LogoutFilter@41709512, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@4f9a2c08, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@6bca7e0d, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@8ad6665, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@47f9738, org.springframework.security.web.session.SessionManagementFilter@1921ad94, org.springframework.security.web.access.ExceptionTranslationFilter@7e6ef134, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@16ce702d]
2021-02-14 05:51:05.709  INFO 1 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2021-02-14 05:51:05.726  INFO 1 --- [           main] com.ebi.uk.EbiProjectJavaApplication     : Started EbiProjectJavaApplication in 7.436 seconds (JVM running for 8.28)

下面是我的pom.xml

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-webflux</artifactId>
        </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

        <!-- <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency> -->
        <!--   <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency> -->
               <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

        <!-- spring security test -->
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <scope>test</scope>
        </dependency>
        
        <dependency>
            <groupId>org.testcontainers</groupId>
            <artifactId>junit-jupiter</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.testcontainers</groupId>
            <artifactId>mysql</artifactId>
            <scope>test</scope>
        </dependency>

下面是我尝试运行的命令

docker run -p 3000:3000 ebiproject
spring-boot docker tomcat
2个回答
3
投票

我认为你在这里错过了重要的概念。

8080
是Spring Boot应用程序的默认端口。但是,在您的 docker 网络配置中,您映射了
3000
->
3000
,这是错误的。

相反,您应该如下配置:

docker run -p 3000:8080 ebiproject


0
投票

您的应用程序中缺少服务器端口配置。{yml 或属性}。 8080是Spring Boot应用程序的默认端口。 因此,默认情况下会自动为您设置此属性

server.port=8080
如果您必须使用端口 3000,您可以添加这是您的属性文件
server.port=3000

© www.soinside.com 2019 - 2024. All rights reserved.