执行mvn spring-boot:build-image时出现Builder lifecycle 'creator'错误码51求助
mvn spring-boot:build-image时出现Builder lifecycle 'creator'错误(状态码51) 我正在学习Docker,尝试为Spring Boot项目创建镜像,执行mvn spring-boot:build-image命令时遇到如下错误:
Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:3.2.5:build-image (default-cli) on project config-server: Execution default-cli of goal org.springframework.boot:spring-boot-maven-plugin:3.2.5:build-image failed: Builder lifecycle 'creator' failed with status code 51
项目的pom.xml代码如下:
<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>3.2.5</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.ahamed.companyms</groupId> <artifactId>companyms</artifactId> <version>0.0.1-SNAPSHOT</version> <name>companyms</name> <description>microservices using spring boot</description> <properties> <java.version>17</java.version> <spring-cloud.version>2023.0.0</spring-cloud.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-web</artifactId> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-tracing-bridge-brave</artifactId> </dependency> <dependency> <groupId>io.zipkin.reporter2</groupId> <artifactId>zipkin-reporter-brave</artifactId> </dependency> <dependency> <groupId>io.github.openfeign</groupId> <artifactId>feign-micrometer</artifactId> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <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>
已花费6小时排查仍未找到问题,恳请帮助修复该错误,若需更多信息请告知。
状态码51通常和Cloud Native Buildpacks的构建环境或配置冲突有关,以下是针对性的排查修复步骤:
检查Docker运行状态
确认Docker Desktop/Engine正在运行,执行docker info验证连接正常;Linux环境需确保当前用户在docker用户组,无需sudo即可执行docker命令。清理Buildpacks缓存
缓存可能导致版本冲突,执行命令强制清理缓存后重新构建:mvn clean spring-boot:build-image -Dspring-boot.build-image.cleanCache=true指定兼容的构建镜像
Spring Boot 3.2.x适配Java 17,可在spring-boot-maven-plugin中指定Jammy版本的Buildpack镜像,避免版本不兼容:<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> <image> <builder>paketobuildpacks/builder-jammy-base:latest</builder> </image> </configuration> </plugin>验证Java版本一致性
确保本地java -version输出为Java 17,与pom.xml中<java.version>17</java.version>配置完全一致;检查MAVEN_OPTS未指定其他Java版本。查看详细构建日志
添加-X参数获取完整错误栈,定位具体失败环节:mvn spring-boot:build-image -X日志中会包含更具体的错误信息,比如依赖拉取失败、权限不足等。
若以上步骤无法解决问题,建议提供-X参数生成的完整日志片段,以便进一步定位。
内容的提问来源于stack exchange,提问作者ahamed

