gu没有这样的文件或目录的时候,要怎么处理和操作?

来源:爱站网时间:2021-10-29编辑:网友分享
大家在操作JAVA编程的时候有没有遇到这么一个问题,gu有时候没有这样的文件或目录,这要怎么操作和处理呢,爱站技术小编用一篇文章为大家揭晓答案,有兴趣的小伙伴可以参考参考。

大家在操作JAVA编程的时候有没有遇到这么一个问题,gu有时候没有这样的文件或目录,这要怎么操作和处理呢,爱站技术小编用一篇文章为大家揭晓答案,有兴趣的小伙伴可以参考参考。

问题描述


我正在用micronaut应用程序构建docker映像。

但是只要我运行docker build命令

docker build -f Dockerfile -t micronaut .

我收到此错误

/bin/sh: /bin/gu: No such file or directory

仍然是我的docker文件的内容:

FROM oracle/graalvm-ce:20.0.0-java11 as graalvm
RUN $GRAALVM_HOME/bin/gu install native-image

COPY . /home/app/micronautguide
WORKDIR /home/app/micronautguide

RUN $GRAALVM_HOME/bin/native-image --no-server -cp build/libs/complete-*-all.jar

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

尽管通过从终端运行gu命令起作用。

思路一:


您的上下文不包含RUN $GRAALVM_HOME/bin/gu。什么是$GRAAL_VM_HOME?无论此变量是什么,都将其设置为null。另外,$GRAALVM_HOME/bin/gu必须是docker映像的一部分。

思路二:


$GRAALVM_HOME在oracle / graalvm-ce:20.0.0-java11容器中不存在。因此,使用户指定正确的路径。在这种情况下,它是/bin/gu

我认为$GRAALVM_HOME是您在本地计算机上使用的变量,并且gu tool已安装,并且在docker映像的/ bin中可用。因此,我在第二个构建阶段中保持$GRAALVM_HOME不变。

因此,Dockerfile应该如下所示,

FROM oracle/graalvm-ce:20.0.0-java11 as graalvm
RUN /bin/gu install native-image

COPY . /home/app/micronautguide
WORKDIR /home/app/micronautguide

RUN /bin/native-image --no-server -cp build/libs/complete-*-all.jar

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

思路三:


$GRAALVM_HOME在oracle / graalvm-ce:20.0.0-java11容器中不存在。因此,使用户指定正确的路径。在这种情况下,它是/bin/gu

我认为$GRAALVM_HOME是您在本地计算机上使用的变量,并且gu tool已安装,并且在docker映像的/ bin中可用。因此,我在第二个构建阶段中保持$GRAALVM_HOME不变。

因此,Dockerfile应该如下所示,

FROM oracle/graalvm-ce:20.0.0-java11 as graalvm
RUN /bin/gu install native-image

COPY . /home/app/micronautguide
WORKDIR /home/app/micronautguide

RUN /bin/native-image --no-server -cp build/libs/complete-*-all.jar

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

 以上内容就是爱站技术频道小编为大家分享的gu没有这样的文件或目录的时候,要怎么处理和操作?看完以上分享之后,大家应该都知道怎么操作和处理了吧。

上一篇:你知道如何将加密的文本解密为纯文本吗?一分钟告诉你答案!

下一篇:用一篇文章告诉你们,使用递归编写在Java中创建路径的方法

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载