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没有这样的文件或目录的时候,要怎么处理和操作?看完以上分享之后,大家应该都知道怎么操作和处理了吧。