我创建了自己的paketo buildpack,并尝试将它与spring maven-plugin一起使用。
我写
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<image>
<buildpacks>
<buildpack>paketo-buildpacks/java</buildpack>
<buildpack>gitlab.company.com:5000/my-buildpack</buildpack>
</buildpacks>
</image>
</configuration>
</plugin>如果我使用这个配置,spring正在下载docker.io/paketobuildpack/builder:base等,但是它当然不能从私有注册表下载buildpack。如前所述,这里必须为私有注册表添加凭据。
但当我加上
<configuration>
<docker>
<builderRegistry>
<url>gitlab.company.com:5000</url>
<username>myuser</username>
<password>mypassword</password>
</builderRegistry>
</docker>
...
<configuration>我突然发现这个错误
[INFO] > Pulling builder image 'docker.io/paketobuildpacks/builder:base' 100%
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 33.957 s
[INFO] Finished at: 2022-06-23T14:39:27+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.6.8:build-image (default-cli) on project usermanagement: Execution default-cli of goal org.springframework.boot:spring-boot-maven-plugin:2.6.8:build-image failed:
Docker API call to 'localhost/v1.24/images/create?fromImage=docker.io%2Fpaketobuildpacks%2Fbuilder%3Abase' failed with status code 500 "Internal Server Error"
and message "Head "https://registry-1.docker.io/v2/paketobuildpacks/builder/manifests/base": unauthorized: please use personal access token to login" -> [Help 1]似乎maven插件也在尝试将我的专用注册表凭据应用到docker.io。
这是插件中的一个bug,还是不可能将多个私有和公共坞注册中心混合用于构建包?
发布于 2022-06-27 14:31:53
目前,如果您像您正在做的那样提供凭据,那么插件希望从相同的注册表(您在<url>块中指示的注册表)中提取构建器和构建包图像。
<configuration>
<docker>
<builderRegistry>
<url>gitlab.company.com:5000</url>
<username>myuser</username>
<password>mypassword</password>
</builderRegistry>
</docker>
...
<configuration>它失败的原因是,您有一个混合,在Paketo公共注册表中有构建器,而私有注册中心中有您的自定义buildpack。
您可以通过以下几种方法来解决这一问题:
builder.toml并使用该配置运行pack builder create。好的是,您可以简化您的构建程序,并删除您不使用的东西,这将减少构建器的大小,并使构建速度更快一些。参见这里的说明和Paketo基builder.toml文件。同样,您需要自动化这一点,以便在更新buildpacks时生成新的构建器。pack cli代替。您可以运行pack build来生成映像。pack cli能够从多个注册中心提取。作为将来的参考,您还可以跟踪本期,这是一个关于Spring插件的主题和潜在变化的讨论。
https://stackoverflow.com/questions/72730602
复制相似问题