gpt4 book ai didi

docker - 如何设置 micronaut 生成 docker 镜像

转载 作者:行者123 更新时间:2023-12-03 07:59:25 25 4
gpt4 key购买 nike

我是 gradle kotlin 和 micronaut 的新手。按照官方指南 create your first micronaut app gradle kotlin我让它在我的 mac M1 上运行正常,但生成 docker 镜像的任务失败:

Could not build image: no matching manifest for linux/arm64/v8 in the manifest list entries

我猜这是预期的:通过查看生成的 Dockerfile,这就是我得到的:

FROM openjdk:17-alpine
WORKDIR /home/app
COPY layers/libs /home/app/libs
COPY layers/classes /home/app/classes
COPY layers/resources /home/app/resources
COPY layers/application.jar /home/app/application.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/home/app/application.jar"]

因此应与 FROM 一起指定显式平台。如果我没猜错的话,micronaut 的插件使用 Gradle Docker Plugin ,但我没有找到正确的指令来覆盖它生成的断言中的原始指令。

最佳答案

Micronaut Gradle 插件默认设置的问题是,它使用 openjdk:17-alpine 作为基础镜像。此镜像仅适用于 amd64 架构。您的 M1 Mac 需要 aarch64

以下是我解决项目问题的方法。

tasks.named("dockerfile") {
baseImage = "eclipse-temurin:17.0.5_8-jre-jammy"
}

这适用于 aarch64(又名 arm64)和 amd64

关于docker - 如何设置 micronaut 生成 docker 镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74889335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com