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

使用spring-native构建Docker镜像出现CA证书错误如何解决?

该x509证书错误和IntelliJ的证书配置无关,本质是spring-boot:build-image执行过程中,Docker daemon拉取镜像、或Paketo Buildpack运行时访问外部HTTPS资源时,运行环境不信任对应站点的证书导致的。可尝试以下解决方案:

  • 方案1:配置Docker信任站点证书
    如果你是在公司网络环境下使用私有镜像源或HTTPS代理,需要将对应站点的根证书/中级证书导入到Docker的信任列表中:
    • Windows/macOS:打开Docker Desktop设置,进入「Resources > Certificates」页面,添加证书文件后重启Docker Desktop即可
    • Linux:将.crt格式的证书文件放入/usr/local/share/ca-certificates/目录,执行sudo update-ca-certificates后重启Docker服务
  • 方案2:临时关闭TLS验证(仅推荐本地调试使用)
    可以通过修改插件配置或执行命令添加参数的方式跳过TLS校验,修改后的插件配置如下:
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
            <docker>
                <tlsVerify>false</tlsVerify>
            </docker>
            <image>
                <builder>paketobuildpacks/builder:tiny</builder>
                <env>
                    <BP_NATIVE_IMAGE>true</BP_NATIVE_IMAGE>
                </env>
            </image>
        </configuration>
    </plugin>
    
    也可以直接在执行命令时添加参数:
    mvn spring-boot:build-image -Dspring-boot.build-image.docker.tlsVerify=false
  • 方案3:向Buildpack运行环境注入信任证书
    如果是Buildpack运行过程中拉取依赖时触发的证书错误,可以将本地证书挂载到Buildpack的证书目录,执行命令时添加挂载参数即可:
    mvn spring-boot:build-image -Dspring-boot.build-image.volumes=/本地证书存放目录:/platform/bindings/ca-certificates
    同时在插件的env配置中添加<BP_RUNTIME_CERT_BINDINGS_DISABLED>false</BP_RUNTIME_CERT_BINDINGS_DISABLED>
  • 方案4:提前手动拉取依赖镜像
    如果是拉取Paketo官方镜像时触发的错误,可以先手动拉取所需镜像到本地,再执行构建命令:
    docker pull paketobuildpacks/builder:tiny
    docker pull paketobuildpacks/run:tiny-cnb
    

内容的提问来源于stack exchange,提问作者S-Wing

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 02:24:03