我试图在我的Kubernetes集群( Debian 11节点)上的应用程序中运行DJL(深度java库)。
我使用fabric8和maven动态地创建我的DockerFile --这是到目前为止生成的:
FROM amazoncorretto:11-alpine-jdk
EXPOSE 8081
COPY maven /maven/
VOLUME ["/tmp"]
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/maven/showthem-web-api-0.0.1-SNAPSHOT.jar"]但我认为我需要将主机上/usr/lib/x86_64-linux-gnu/ libstdc++ so.6中的libstdc++文件的依赖项复制到/maven。
我还读到,最好的做法是在构建过程中将这个libstdc++ .so文件实际包含在我的坞映像中,甚至不要将文件从主机复制到/maven.所以不确定我的方法是否正确。但是,我希望使用fabric8来实现这个功能。
我试图添加LD_LIBRARY_PATH,但它没有选择.so库。
FROM amazoncorretto:11-alpine-jdk
EXPOSE 8081
COPY maven /maven/
VOLUME ["/tmp"]
ENV LD_LIBRARY_PATH=/maven:$LD_LIBRARY_PATH
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/maven/showthem-web-api-0.0.1-SNAPSHOT.jar"**最新情况:
FROM amazoncorretto:11-alpine-jdk
EXPOSE 8081
COPY maven /maven/
RUN apt add libstdc++6
VOLUME ["/tmp"]
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/maven/showthem-web-api-0.0.1-SNAPSHOT.jar"]这是我的pom.xml文件的例子。
..。亚马孙科雷托:11-高寒-jdk
添加libstdc++6 ..。
它正在安装,但仍然得到:
Suppressed: java.lang.UnsatisfiedLinkError: Error loading shared library libstdc++.so.6: No such file or directory (needed by /root/.djl.ai/mxnet/1.9.0-mkl-linux-x86_64/libmxnet.so)
at com.sun.jna.Native.open(Native Method) ~[jna-5.10.0.jar!/:5.10.0 (b0)]
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:191) ~[jna-5.10.0.jar!/:5.10.0 (b0)]
... 66 common frames omitted
Suppressed: java.lang.UnsatisfiedLinkError: Error loading shared library libstdc++.so.6: No such file or directory (needed by /root/.djl.ai/mxnet/1.9.0-mkl-linux-x86_64/libmxnet.so)
at com.sun.jna.Native.open(Native Method) ~[jna-5.10.0.jar!/:5.10.0 (b0)]
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:204) ~[jna-5.10.0.jar!/:5.10.0 (b0)]
... 66 common frames omitted发布于 2022-07-04 03:36:33
我的容器现在可以看到.so的退步。我不知道为什么要添加一个额外的层,因为我的主机系统是Debian...but --它可以工作。
<from>debian:11</from>
<runCmds>
<run>apt-get update</run>
<run>apt-get -y install openjdk-11-jdk-headless</run>
</runCmds>当结果是:
FROM debian:11
EXPOSE 8081
COPY maven /maven/
RUN apt-get update
RUN apt-get -y install openjdk-11-jdk-headlesshttps://stackoverflow.com/questions/72762689
复制相似问题