Windows下通过Maven spring-boot:build-image构建Docker镜像如何指定arm64架构
解决方案
你提到的--platform=linux/arm64参数可以通过两种方式配置到Spring Boot Maven插件的构建流程中,无需额外编写Dockerfile或docker-compose配置:
方案1:pom.xml固定配置(推荐多模块场景使用)
直接修改父项目或对应模块的pom.xml,给spring-boot-maven-plugin添加架构配置即可,修改后配置如下:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <image> <platform>linux/arm64</platform> </image> </configuration> </plugin> </plugins> </build>
小提示:如果是多模块父项目统一管控配置,可将上述插件配置放到父pom的
<build><pluginManagement><plugins>节点下,所有子模块无需重复配置即可统一生效。
方案2:IntelliJ Maven运行配置临时指定
如果不需要固定构建架构,只想在某次打arm64镜像时临时生效,可以直接修改IDEA的运行配置:
- 打开IDEA右上角运行配置下拉框,选择「Edit Configurations」
- 找到你日常使用的执行
spring-boot:build-image的Maven配置项 - 在「Command line」输入框的原有命令末尾,追加参数:
-Dspring-boot.build-image.platform=linux/arm64 - 保存配置后重新执行构建即可
构建完成后推送到本地Docker Registry,树莓派拉取镜像后即可正常启动,不会再出现架构不兼容的错误。
内容的提问来源于stack exchange,提问作者kenneth
相关产品推荐
相关产品推荐

