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

Ubuntu下Docker-compose调用nvidia runtime失败,原可运行现报错求助

Jellyfin容器NVIDIA硬件加速重启后失效的排查思路

以下是针对该问题的分步排查建议:

  • 验证Docker与NVIDIA Runtime基础状态

    1. 检查Docker服务运行状态:
      sudo systemctl status docker
      
      确保服务无报错,若异常则重启服务:sudo systemctl restart docker
    2. 确认NVIDIA Runtime已被Docker识别:
      docker info | grep -i nvidia
      
      正常输出应包含Runtimes: nvidia runc字样。
  • 测试NVIDIA容器工具链可用性
    运行官方测试容器,排除工具链本身的问题:

    docker run --rm --runtime=nvidia nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi
    

    若该命令失败:

    • 检查NVIDIA驱动模块是否加载:lsmod | grep nvidia
    • 若模块未加载,重新安装DKMS驱动:sudo dkms install -m nvidia -v 535.98
  • 排查docker-compose配置冲突
    你的配置同时使用了runtime: nvidia和deploy.resources.reservations.devices,部分Docker版本中这两个配置存在兼容性问题:

    1. 尝试移除deploy块,仅保留runtime: nvidia,再启动容器:
      docker-compose up -d
      
    2. 或反过来,移除runtime: nvidia,保留deploy块(需确保docker-compose版本≥3.8)。
  • 检查用户权限问题
    容器指定了user: 1000:1000,需确认该用户有权限访问NVIDIA设备:

    1. 查看主机NVIDIA设备权限:
      ls -l /dev/nvidia*
      
    2. 将用户1000加入nvidia组:
      sudo usermod -aG nvidia $USER
      
      完成后重新登录系统,再尝试启动容器。
    3. 临时移除user配置,用root用户启动容器,排除权限问题。
  • 查看容器启动日志定位具体错误
    这是最关键的排查步骤,日志会明确失败原因:

    docker-compose logs jellyfin
    # 或通过容器ID查看:
    docker logs <your-jellyfin-container-id>
    

    若日志出现nvidia-container-cli: initialization error,重新配置NVIDIA runtime:

    sudo nvidia-ctk runtime configure --runtime=docker
    sudo systemctl restart docker
    
  • 验证版本兼容性
    确认NVIDIA驱动版本(nvidia-smi输出)与nvidia-container-toolkit、nvidia-docker2版本兼容,驱动更新后工具链未同步可能导致问题,必要时重新安装匹配版本的工具链。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 08:45:18