【问题标题】:Paketo build-pack failing upon updatePaketo build-pack 在更新时失败
【发布时间】:2022-08-23 16:55:19
【问题描述】:

我有一个非常简单的 Spring Boot 应用程序,用于为 Azure 构建 Docker 映像。可能 Azure 与问题无关。图像是使用Spring Boot Gradle plugin 构建的,使用bootBuildImage 任务。

现在,突然之间,代码没有改变,构建开始失败:

> Task :backend:bootBuildImage FAILED
…
… Invalid response received when loading image \"pack.local/builder/uxjmhhddud:latest\"

图像的名称随着每次运行而变化,看起来像一个无法读取的临时中间图像。

是什么导致了这种失败以及可以做些什么呢?


编辑:更多日志上下文:

> Task :backend:bootBuildImage
Building image \'docker.io/library/backend:latest\'

 > Pulling builder image \'docker.io/paketobuildpacks/builder@sha256:edb18b93f138def92ada50bebdffa05983b13a5f5c4df6af75a40f2275d092ed\' ..................................................
 > Pulled builder image \'paketobuildpacks/builder@sha256:edb18b93f138def92ada50bebdffa05983b13a5f5c4df6af75a40f2275d092ed\'
 > Pulling run image \'docker.io/paketobuildpacks/run@sha256:c6a219b27b2009cf99d92bc4a667ceb81822074406809d6c87e3dce906349546\' ..................................................
 > Pulled run image \'paketobuildpacks/run@sha256:c6a219b27b2009cf99d92bc4a667ceb81822074406809d6c87e3dce906349546\'
 > Pulling buildpack image \'gcr.io/paketo-buildpacks/java-azure:latest\' ..................................................
 > Pulled buildpack image \'gcr.io/paketo-buildpacks/java-azure@sha256:704f74c1cc11cbe8cc5702a63cd77aa4c476d9051f022aabb7188bdc5e3fd2fc\'

> Task :backend:bootBuildImage FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task \':backend:bootBuildImage\'.
> Invalid response received when loading image \"pack.local/builder/xojqjhijta:latest\"
  • 您可以发布完整的构建输出吗?如果某个特定的构建器有问题,我可以确保它得到解决,但我需要了解更多细节。谢谢
  • 粘贴有问题的输出。在尝试最小化日志时,我发现了一条有趣的信息:当buildpacks = listOf(\"gcr.io/paketo-buildpacks/java-azure\")包含Azure构建包时,构建失败,当我将其注释掉时,构建将成功!

标签: spring-boot paketo


【解决方案1】:

在排除了 Docker 守护程序问题或代理等之后,我认为 Paketo 构建器的版本可能只是错误的。事实上,将版本固定到最后一个已知的好东西是有效的:

tasks.bootBuildImage {
    // Pin version to known working
    builder = "paketobuildpacks/builder@sha256:855aaa00a7eadca9c6cdba72550889f7c618c2bf1489c29fb9e7e01588665db7"
    …
}

较新的跑步者和基本图像工作正常。

【讨论】:

  • 很高兴这有效,不要忘记稍后取消固定,否则您将被困在较旧的构建器上并且不会获得更新。有时,删除用于存储从一个构建到下一个构建的缓存信息的卷也可能会有所帮助。如果您docker volume ls,您可以看到这些卷并且您可以使用docker volume rm 删除它们。 Spring Boot 也有一个缓存清除标志,你可以设置哪个应该做同样的事情。
  • 关于钉住:在某种程度上,它是均匀的更好的使用固定版本,因为这样可以确保可重现的构建。但是,没有工具可以通知我新版本(我知道的)。
猜你喜欢
  • 2019-03-05
  • 2021-12-22
  • 1970-01-01
  • 1970-01-01
  • 2010-12-28
  • 2020-09-14
  • 2020-03-26
  • 1970-01-01
  • 2021-03-06
相关资源
最近更新 更多