我已经在Micronaut中构建了一个应用程序接口,并尝试在其中部署GCP Cloud作为本机graalVM映像运行
这是我的Dockerfile
# Stage 1: Build the JAR
FROM gradle:jdk11 as gradle
COPY --chown=gradle . /home/app
WORKDIR /home/app
RUN gradle assemble --no-daemon
# Stage 2: Build the native image
FROM ghcr.io/graalvm/graalvm-ce:latest as graalvm
RUN \
# Install GraalVM Native Image
gu install native-image;
COPY --from=gradle /home/app/build/libs/greetings-cloud-run-0.1-all.jar /home/app/server.jar
WORKDIR /home/app
RUN native-image -H:Name=greetings-cloud-run --no-server -cp server.jar com.arun.Application
# Stage 3: Prepare Server
FROM frolvlad/alpine-glibc
RUN apk update && apk add libstdc++
EXPOSE 8080
COPY --from=graalvm /home/app/greetings-cloud-run .
ENTRYPOINT ["./greetings-cloud-run"]我检查到阶段2,本机映像运行得很好。我包含了阶段3来运行我的本机映像,并以下面的错误结束
$ docker run a/micro
./greetings-cloud-run: /usr/lib/libstdc++.so.6: no version information available (required by ./greetings-cloud-run)
./greetings-cloud-run: Relink `/usr/lib/libgcc_s.so.1' with `/usr/glibc-compat/lib/libc.so.6' for IFUNC symbol `memset'需要有关如何运行本机映像的帮助
发布于 2021-07-23 17:09:34
它应该是Micronaut文档中标准内容,
试试https://guides.micronaut.io/latest/micronaut-creating-first-graal-app-maven-java.html
5.2。在Docker中创建本机映像
遵循这种方法的输出是运行应用程序的本机映像的Docker映像。您不需要安装任何额外的依赖项。使用Maven构建GraalVM本机镜像
$ ./mvnw package -Dpackaging=docker-native
https://stackoverflow.com/questions/68428956
复制相似问题