You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker构建阶段如何使NVIDIA驱动可用以编译DCNv2?

编译DCNv2时Docker Build阶段提示找不到NVIDIA驱动的解决方法

问题背景

主机已安装NVIDIA驱动450、nvidia-cuda-runtime、nvidia-docker、nvidia-cuda-toolkit,配置/etc/docker/daemon.json将nvidia设为默认运行时:

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

基于pytorch/pytorch:1.7.0-cuda11.0-cudnn8-devel构建镜像,执行以下编译步骤时报错RuntimeError: Found no NVIDIA driver on your system:

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

已尝试关闭BuildKit构建,问题仍存在。

核心原因

Docker Build阶段默认不会加载NVIDIA运行时的GPU设备与驱动环境,即使配置了默认运行时,该配置仅对容器运行阶段生效,Build过程无法访问主机GPU资源。

解决方案

方案一:容器启动时再编译DCNv2

将编译步骤从Build阶段移到容器启动阶段,此时容器已通过nvidia运行时获取GPU环境:

  1. 修改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 echo '#!/bin/bash' > /start.sh && \
    echo 'python3 setup.py build develop' >> /start.sh && \
    echo 'exec "$@"' >> /start.sh && \
    chmod +x /start.sh

ENTRYPOINT ["/start.sh"]
CMD ["bash"]
  1. 构建镜像:
docker build -t dcnv2-pytorch1.7 .
  1. 启动容器(自动完成编译):
docker run --gpus all -it dcnv2-pytorch1.7

方案二:启用BuildKit的GPU支持(Docker版本≥19.03)

通过BuildKit在Build阶段直接访问GPU资源:

  1. 确保Docker开启BuildKit(可通过设置环境变量DOCKER_BUILDKIT=1,或在/etc/docker/daemon.json中添加"features": {"buildkit": true}后重启docker服务)
  2. 修改Dockerfile,添加语法声明:
# syntax=docker/dockerfile:1.4
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 --mount=type=cache,target=/root/.cache/pip python3 setup.py build develop
  1. 执行构建命令:
docker buildx build --builder docker-container --gpus all -t dcnv2-pytorch1.7 .

额外验证点

主机驱动版本450与镜像使用的CUDA 11.0版本兼容(CUDA 11.0要求驱动版本≥450.36.06),无需调整版本匹配问题。

内容的提问来源于stack exchange,提问作者Vahagn Tumanyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 06:54:54