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

Spring Boot 2.5.5使用Docker构建镜像时无法自定义镜像名如何解决?

问题根因

Docker镜像命名规范强制要求镜像的路径、名称字段仅可使用小写字母、数字,以及.、_、-三类特殊字符,不允许出现大写字母。你的配置存在两处不符合规范的问题:

  1. 你在spring-boot-maven-plugin中通过${project.artifactId}动态拼接镜像名,而项目的artifactId取值为BankModule,包含大写字母B、M,不符合命名要求
  2. pom文件中<version>标签的内容末尾带有多余的换行符,拼接镜像tag时可能带入不可见空白字符,也会触发格式校验失败

修复方案

你可以选择任意一种方式修复:

  • 方案1:修改项目基础配置
    将pom文件中的artifactId改为全小写,同时修正version标签的换行问题:

    <artifactId>bankmodule</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    

    保留现有插件的镜像名配置即可正常构建。

  • 方案2:仅修改插件配置,不调整项目artifactId
    直接在插件的镜像名配置中写死全小写的镜像名称,不需要依赖artifactId动态拼接:

    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <version>2.5.5</version>
        <configuration>
            <image>
                <name>kolludocker/ms1-bankmodule:${project.version}</name>
            </image>
            <pullPolicy>IF_NOT_PRESENT</pullPolicy>
        </configuration>
    </plugin>
    

修改完成后重新执行镜像构建命令即可正常生成镜像。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 13:45:04