我得用Docker捆绑我的系统。但是我的系统使用Java (JAR文件来运行)和PyTorch的python。我最初尝试使用openjdk:buster base映像,然后在其之上安装python3。所以JAR和PyTorch都能工作,但是PyTorch只支持CPU。但是现在我必须使用GPU加速我的PyTorch代码,为此我需要NVIDIA。在另一个码头,我发现nvidia/cuda:10.2-base-ubuntu18.04为我的PyTorch工作。但是这个码头工人不能运行JAR文件。
所以我被困在这两个组合中。我要么想
有人对我怎么做或者其他黑客有什么建议吗?
发布于 2021-10-22 12:51:46
您可以拥有一个映像,而不是两个映像,方法是创建使用nvidia映像的自己的docker映像,并在其上安装java。即有如下所示的Dockerfile
FROM nvidia/cuda:10.2-base-ubuntu18.04
RUN apt-get update
RUN apt-get install openjdk-14-jdk
COPY <your jar file> <a path>
CMD [ "java" "other java flags/args>" "-jar" "<path to your jar file>"]在该Dockerfile上运行docker build,并像往常一样运行docker run,您的java代码应该可以访问NVIDIA。(还请注意,有些人更喜欢切入点而不是CMD)
https://stackoverflow.com/questions/69676493
复制相似问题