You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Render平台推送镜像后SpringBoot项目部署失败求助

Docker部署SpringBoot到Render失败求助

全天尝试通过Docker将SpringBoot项目部署至Render平台,中途解决各类错误后,当前遇到如下问题:手动触发部署后,日志仅输出到镜像上传成功就终止,无任何错误说明,但部署标记为失败。

部署日志

Jan 7 11:49:44 AM  ==> Cloning from https://github.com/KateClysm/BackEnd-Portfolio-PPA...
Jan 7 11:49:48 AM  ==> Checking out commit d2982e0e149b6e90b51265bcb926c1c602f4bc66 in branch main
Jan 7 11:49:53 AM  #1 [internal] load .dockerignore
Jan 7 11:49:53 AM  #1 transferring context: 2B done
Jan 7 11:49:53 AM  #1 DONE 0.0s
Jan 7 11:49:53 AM  
Jan 7 11:49:53 AM  #2 [internal] load build definition from Dockerfile
Jan 7 11:49:53 AM  #2 transferring dockerfile: 205B done
Jan 7 11:49:53 AM  #2 DONE 0.0s
Jan 7 11:49:53 AM  
Jan 7 11:49:53 AM  #3 [internal] load metadata for docker.io/library/amazoncorretto:19-alpine-jdk
Jan 7 11:49:53 AM  #3 ...
Jan 7 11:49:53 AM  
Jan 7 11:49:53 AM  #4 [auth] library/amazoncorretto:pull token for registry-1.docker.io
Jan 7 11:49:53 AM  #4 DONE 0.0s
Jan 7 11:49:53 AM  
Jan 7 11:49:53 AM  #3 [internal] load metadata for docker.io/library/amazoncorretto:19-alpine-jdk
Jan 7 11:49:54 AM  #3 DONE 1.0s
Jan 7 11:49:54 AM  
Jan 7 11:49:54 AM  #5 [1/2] FROM docker.io/library/amazoncorretto:19-alpine-jdk@sha256:46be4d85ae0f45ee7144fcb0d785907b960ee273f6e3d759b6e0c39bf03e5387
Jan 7 11:49:54 AM  #5 resolve docker.io/library/amazoncorretto:19-alpine-jdk@sha256:46be4d85ae0f45ee7144fcb0d785907b960ee273f6e3d759b6e0c39bf03e5387 0.1s done
Jan 7 11:49:54 AM  #5 DONE 0.1s
Jan 7 11:49:54 AM  
Jan 7 11:49:54 AM  #6 [internal] load build context
Jan 7 11:49:55 AM  #6 transferring context: 43.14MB 1.9s done
Jan 7 11:49:55 AM  #6 DONE 1.9s
Jan 7 11:49:55 AM  
Jan 7 11:49:55 AM  #5 [1/2] FROM docker.io/library/amazoncorretto:19-alpine-jdk@sha256:46be4d85ae0f45ee7144fcb0d785907b960ee273f6e3d759b6e0c39bf03e5387
Jan 7 11:49:55 AM  #5 extracting sha256:ca7dd9ec2225f2385955c43b2379305acd51543c28cf1d4e94522b3d94cce3ce 0.6s done
Jan 7 11:49:57 AM  #5 extracting sha256:b953496144a820faf3b5884ddfc542a98cc07f6a24635f26015e7c8d0ef19efe
Jan 7 11:50:00 AM  #5 extracting sha256:b953496144a820faf3b5884ddfc542a98cc07f6a24635f26015e7c8d0ef19efe 3.4s done
Jan 7 11:50:00 AM  #5 DONE 6.4s
Jan 7 11:50:00 AM  
Jan 7 11:50:00 AM  #7 [2/2] COPY target/mm-0.0.1-SNAPSHOT.jar mm-0.0.1-SNAPSHOT.jar
Jan 7 11:50:00 AM  #7 DONE 0.1s
Jan 7 11:50:00 AM  
Jan 7 11:50:00 AM  #8 exporting to oci image format
Jan 7 11:50:00 AM  #8 exporting layers
Jan 7 11:50:02 AM  #8 exporting layers 2.0s done
Jan 7 11:50:02 AM  #8 exporting manifest sha256:64870a046ea759b329252fecb6255049c33b7b4372b0d30cb785c7fed8d1fb60 done
Jan 7 11:50:02 AM  #8 exporting config sha256:36ccfedfb44c6ca4b7ef9bd3b86498a12a33d4daa9eb7b353c2c540d0cf726b4 done
Jan 7 11:50:10 AM  #8 DONE 10.2s
Jan 7 11:50:10 AM  
Jan 7 11:50:10 AM  #9 exporting cache
Jan 7 11:50:18 AM  #9 DONE 7.3s
Jan 7 11:50:19 AM  Pushing image to registry...
Jan 7 11:50:24 AM  Upload succeeded
Jan 7 11:50:24 AM  DONE

Dockerfile内容

FROM amazoncorretto:19-alpine-jdk
MAINTAINER emaaristimuno
COPY target/mm-0.0.1-SNAPSHOT.jar mm-0.0.1-SNAPSHOT.jar
ENTRYPOINT ["java","-jar","/mm-0.0.1-SNAPSHOT.jar"]

注:使用NetBeans开发

POM文件内容

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.7</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.portfolio</groupId>
    <artifactId>mm</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>mm</name>
    <description>Portfolio Maria Monchot</description>
    <properties>
        <java.version>19</java.version>
    </properties>
    <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-validation</artifactId>
        </dependency>
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt</artifactId>
            <version>0.9.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.9</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

application.properties配置

#测试环境
#spring.datasource.url=jdbc:mysql://localhost:3306/backendmm?useSSL=false&serverTimezone=UTC
#spring.datasource.username=root
#spring.datasorce.password=

#生产环境
spring.datasource.url=jdbc:mysql:urlfrommydatabase
spring.datasource.username=userfrommydatabase
spring.datasorce.password=passwordfrommydatabase

#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.show-sql=true
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
#spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.ddl-auto=none
spring.datasource.hikari.maximum-pool-size=2

#JWT
jwt.secret = secret
jwt.expiration = 3600

本地JAR文件路径:C:\Users\Katerina\Desktop\Proyecto Portfolio PPA\BackEnd-Portfolio-PPA\target\mm-0.0.1-SNAPSHOT.jar

排查方向

  • 日志缺失:当前日志仅展示镜像构建和上传流程,容器启动阶段日志未输出,需前往Render平台的「服务日志」板块查看启动失败的具体报错
  • 配置拼写错误:application.properties中spring.datasorce.password存在拼写错误,应改为spring.datasource.password,此错误会导致数据库密码读取失败,无法建立连接
  • 数据库URL格式错误:生产环境的spring.datasource.url格式不正确,正确格式应为jdbc:mysql://<数据库主机>:<端口>/<数据库名>?useSSL=true&serverTimezone=UTC,需替换为Render提供的真实数据库地址
  • Java版本兼容性:Spring Boot 2.6.7官方仅支持Java 8、11、17,使用Java 19可能存在兼容性问题,建议将Java版本降至17,或升级Spring Boot至支持Java 19的版本(如3.x系列)
  • 端口配置:Render部署Docker服务需指定端口,Spring Boot默认使用8080端口,需在Render服务设置中将端口设为8080,或在application.properties中添加server.port=${PORT:8080}以适配Render的环境变量端口
  • 数据库连通性:确认Render上的MySQL数据库已正确创建,网络权限开放,且数据库用户拥有足够的读写权限

内容的提问来源于stack exchange,提问作者Maria Monchot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 03:35:24