【问题标题】:How to embed CA-certificates with spring-boot:build-image?如何使用 spring-boot:build-image 嵌入 CA 证书?
【发布时间】:2021-10-13 15:35:15
【问题描述】:

我需要使用 spring-boot:build-imagepaketo-buildpacks/ca-certificates 将自签名证书添加到 spring-boot docker 映像,但无法正常工作。

所以:

  • 将要添加的证书放在哪里?
  • 采用哪种格式?
  • 如何定义paketo-buildpacks/ca-certificates绑定?
  • 是否应向mvn spring-boot:build-image 提供任何其他参数?

到目前为止我没有成功的尝试: 更新 pom.xml spring-boot-maven-plugin:

    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <executions>
            <execution>
                <goals>
                    <goal>build-image</goal>
                </goals>
                <configuration>
                    <image>
                        <bindings>
                            <binding>${basedir}/bindings/ca-certificates:/platform/bindings/ca-certificates</binding>
                        </bindings>
                    </image>
                </configuration>
            </execution>
        </executions>
    </plugin>

来自${basedir} 文件夹:

mkdir bindings
mkdir bindings/ca-certificates
echo "ca-certificates" > bindings/ca-certificates/type
cp ~/.ssh/mycert.pem bindings/ca-certificates/
mvn spring-boot:build-image

【问题讨论】:

    标签: spring-boot spring-boot-maven-plugin buildpack


    【解决方案1】:

    我明白了。上面的 Maven 配置是针对 maven package 目标的,而不是 spring-boot:build-image

    这是完整的过程:

    • 在 maven 项目根目录下创建 bindings/ca-certificates 文件夹并添加:
      • type 仅包含 ca-certificates 的文件
      • 您想要嵌入的 CA 证书(PEM 格式)
    • 在 pom.xml 中,将 build-image 执行添加到 spring-boot-maven-plugin,并按照我的问题中配置的 ${basedir}/bindings/ca-certificates:/platform/bindings/ca-certificates 图像绑定
    • 运行mvn clean package

    【讨论】:

      【解决方案2】:

      我也有同样的问题,我发现你的帖子真的很有帮助。经过一番尝试,我发现您的配置也可以与 spring-boot:build-image 一起使用,并进行以下更改:

      <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <configuration>
              <image>
                  <bindings>
                      <binding>${basedir}/bindings/ca-certificates:/platform/bindings/ca-certificates</binding>
                  </bindings>
              </image>
          </configuration>
      </plugin>
      

      如您所见,我在&lt;plugin&gt; 之后立即添加了&lt;configuration&gt;。这样看来,spring-boot:build-image似乎就可以解析了

      【讨论】:

        猜你喜欢
        • 2021-10-29
        • 2023-01-28
        • 2021-05-15
        • 2020-10-01
        • 2021-07-22
        • 1970-01-01
        • 2021-03-31
        • 2021-01-10
        • 2020-06-15
        相关资源
        最近更新 更多