如何在Docker构建期间提供NVidia驱动程序?

cs7cruho  于 2023-04-20  发布在  Docker
关注(0)|答案(1)|浏览(175)

我正在尝试构建一个安装了dcn_v2的docker镜像,并为CUDA支持而构建。
我已经在机器上安装了nvidia-drivers(450),nvidia-cuda-runtimenvidia-dockernvidia-cuda-toolkit
我的dockerfile开始FROM pytorch/pytorch:1.7.0-cuda11.0-cudnn8-devel
在安装其他要求后的某个时间点

RUN git clone -b pytorch_1.7 https://github.com/ifzhang/DCNv2.git
 WORKDIR DCNv2
 RUN python3 setup.py build develop

我已经按照说明找到了here,并为我的docker设置了nvidia-runtime默认值,并重新启动了系统。
我的/etc/docker/daemon.json看起来像这样

{
 "runtimes": {
     "nvidia": {
         "path": "/usr/bin/nvidia-container-runtime",
         "runtimeArgs": []
         }
     },
     "default-runtime": "nvidia"
 }

我也试着遵循这里的建议
使用DOCKER_BUILDKIT=0 docker build <blah>构建
然而,一旦我到达安装我得到一个错误
RuntimeError: Found no NVIDIA driver on your system.

aurhwmvo

aurhwmvo1#

我无法在构建过程中使驱动程序可用。但是,如果有人发现自己处于这种情况:
1.只使用“FROM”语句创建一个基础映像
1.使用--gpus all运行映像
1.在容器内构建任何你需要的gpu和驱动程序。
1.从不同的终端执行docker ps
1.获取正在运行的容器的id
1.做docker commit container_id Tag
1.使用新创建的图像作为基础,并保存该图像的地方
看起来超级hacky,但嘿-它的工作。

相关问题