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

使用spring-boot-maven-plugin构建的Docker镜像无法启动如何解决?

错误原因

你在spring-boot-maven-plugin中配置的镜像名称为docker.io/jeremy/${project.artifactId}:v1,使用mvn spring-boot:build-image命令构建完成后,镜像仅存储在你本地的Docker环境中,并没有推送至Docker Hub的jeremy公共命名空间下。你执行docker run命令时使用了jeremy/demo:v1的短名称,Docker会默认优先从Docker Hub远程仓库拉取该镜像,由于你未登录对应Docker Hub账号、且该公共仓库下不存在对应镜像,就会触发访问权限拒绝的报错。

解决方法

你可以选择以下任意一种方案解决:

  • 方案1:运行时使用完整镜像名或本地镜像ID
    首先执行docker images命令查看本地镜像列表,找到你刚构建的镜像记录,直接使用完整镜像名启动即可:
    docker run -p 8080:8080 docker.io/jeremy/demo:v1
    
    你也可以替换为该镜像对应的ID进行启动:
    # 替换xxxx为你实际查到的镜像ID前缀
    docker run -p 8080:8080 xxxx
    
  • 方案2:修改插件配置,使用本地镜像命名规则
    调整pom.xml中插件的镜像名称配置,去掉远端仓库前缀,构建出来的镜像默认识别为本地镜像:
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <image>
                        <name>${project.artifactId}:v1</name>
                    </image>
                </configuration>
            </plugin>
        </plugins>
    </build>
    
    重新执行mvn spring-boot:build-image完成构建后,直接使用短名称启动即可:
    docker run -p 8080:8080 demo:v1
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 04:54:00