将多阶段Dockerfile迁移到bazel

时间:2020-03-18 19:14:15

标签: docker bazel graalvm graalvm-native-image

我有这个Dockerfile:

FROM oracle/graalvm-ce:19.3.1-java11 as graalvm
RUN gu install native-image
COPY . /home/app/monolith
WORKDIR /home/app/monolith
RUN ./gradlew clean build
RUN native-image --no-server -cp build/libs/monolith-*-all.jar

FROM frolvlad/alpine-glibc
RUN apk update && apk add libstdc++
EXPOSE 8080
COPY --from=graalvm /home/app/monolith/monolith /app/monolith
ENTRYPOINT ["/app/monolith"]

这很简单。在第一阶段,它从罐子中创建一个本机映像,在第二阶段中,它使用一个微小的高山映像来运行该二进制文件。我想将其迁移到bazel。

我像这样在工作区中拉动两个基座:

container_pull (
      name = "graalvm",
      registry = "index.docker.io",
      repository = "oracle/graalvm-ce",
      tag = "20.0.0-java11",
)
container_pull (
      name = "alpine_glibc",
      registry = "index.docker.io",
      repository = "frolvlad/alpine-glibc",
      tag = "glibc-2.30",
)

在此之后,我不确定将第一个图像与java_library一起使用,并将结果注入到第二个图像中,以生成结果图像。

0 个答案:

没有答案
相关问题