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

使用mvn spring-boot:build-image构建镜像成功但Docker中无法找到求助

Maven构建Spring Boot Docker镜像成功但无法找到的解决方法

问题描述

执行mvn spring-boot:build-image命令构建Docker镜像,日志明确显示构建成功:

╰─⠠⠵ mvn spring-boot:build-image   
...
O]     [creator]     Saving docker.io/library/spring-service:0.0.16-SNAPSHOT...
[INFO]     [creator]     *** Images (f28300653802):
[INFO]     [creator]           docker.io/library/spring-service:0.0.16-SNAPSHOT
[INFO]     [creator]     Reusing cache layer 'paketo-buildpacks/syft:syft'
[INFO]     [creator]     Reusing cache layer 'cache.sbom'
[INFO] 
[INFO] Successfully built image 'docker.io/library/spring-service:0.0.16-SNAPSHOT'
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  28.784 s
[INFO] Finished at: 2022-09-01T18:19:01+04:30
[INFO] ------------------------------------------------------------------------

但执行docker image ls却看不到docker.io/library/spring-service:0.0.16-SNAPSHOT镜像,当前镜像列表如下:

╰─⠠⠵ docker image ls
REPOSITORY                      TAG       IMAGE ID       CREATED        SIZE
mariadb                         <none>    01d138caf7d0   8 days ago     384MB
grafana/grafana                 latest    b6ea013786be   9 days ago     299MB
redis                           <none>    dc7b40a0b05d   9 days ago     117MB
bitnami/zookeeper               latest    dd7f87e04f7b   10 days ago    521MB
bitnami/kafka                   latest    c01437a78c04   12 days ago    664MB
prom/prometheus                 latest    d3167094f2ef   2 weeks ago    215MB
mariadb                         latest    40b966d7252f   4 weeks ago    383MB
redis                           latest    3e42dd4e79c7   4 weeks ago    117MB
emqx/emqx                       latest    42418de7f6c3   4 weeks ago    148MB
portainer/portainer-ce          2.11.1    ed396c816a75   6 months ago   280MB

排查与解决步骤

1. 直接通过镜像ID验证存在性

日志中已给出镜像ID f28300653802,执行命令确认镜像是否实际存在:

docker image inspect f28300653802

如果返回镜像详细信息,说明镜像已创建,只是docker image ls的输出未正常显示标签。

2. 检查容器工具兼容性

Spring Boot的build-image基于Paketo Buildpacks,可能镜像被存储到了其他兼容容器工具(如podman)而非Docker。执行以下命令切换工具检查:

podman image ls

同时确认当前docker命令是否指向Docker守护进程:

docker info

若输出异常,排查是否有其他容器工具在运行。

3. 手动重新打标签

如果镜像存在但标签异常,手动为镜像添加目标标签:

docker tag f28300653802 docker.io/library/spring-service:0.0.16-SNAPSHOT

执行后再用docker image ls查看是否显示目标镜像。

4. 检查Maven插件配置

查看项目pom.xml中的spring-boot-maven-plugin配置,确认是否指定了私有镜像仓库:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <image>
            <registry>my-local-registry:5000</registry>
        </image>
    </configuration>
</plugin>

若配置了私有仓库,需到对应仓库查看镜像是否被推送过去。

5. 清理缓存后重新构建

缓存异常可能导致标签丢失,清理Maven和Docker缓存后重新构建:

mvn clean spring-boot:build-image -DskipTests
docker system prune -a

重新构建完成后再次检查镜像列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 21:09:32