首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用复制共享库的fabric8创建fabric8

使用复制共享库的fabric8创建fabric8
EN

Stack Overflow用户
提问于 2022-06-26 15:02:37
回答 1查看 149关注 0票数 1

我试图在我的Kubernetes集群( Debian 11节点)上的应用程序中运行DJL(深度java库)。

我使用fabric8和maven动态地创建我的DockerFile --这是到目前为止生成的:

代码语言:javascript
复制
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库。

代码语言:javascript
复制
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"

**最新情况:

代码语言:javascript
复制
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 ..。

它正在安装,但仍然得到:

代码语言:javascript
复制
 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

参考资料:https://github.com/deepjavalibrary/djl/issues/1748

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-04 03:36:33

我的容器现在可以看到.so的退步。我不知道为什么要添加一个额外的层,因为我的主机系统是Debian...but --它可以工作。

代码语言:javascript
复制
 <from>debian:11</from>                                             
    <runCmds>
       <run>apt-get update</run> 
        <run>apt-get -y install openjdk-11-jdk-headless</run> 
     </runCmds>

当结果是:

代码语言:javascript
复制
FROM debian:11
EXPOSE 8081
COPY maven /maven/
RUN apt-get update
RUN apt-get -y install openjdk-11-jdk-headless
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72762689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档