Docker中Failed to initialize NVML: Unknown Error

参考资料
Docker 中无法使用 GPU 时该怎么办(无法初始化 NVML:未知错误)
SOLVED Docker with GPU: "Failed to initialize NVML: Unknown Error"

解决方案需要的条件:

需要在服务器上docker的admin list之中. 不需要服务器整体的admin权限. 我在创建docker的时候向管理员申请了把握加到docker list当中了. 如果你能够创建docker你就满足这个条件了

问题描述:

在主机上nvidia-smi正常, 但是在docker上报错如标题.

解决: 使用上述方法修改. 但是有一些不同

  1. 我的docker没有/etc/nvidia-container-runtime/config.toml, 于是我自己新建了一个. 注意新建这个文件需要有docker的admin密码(不是服务器主机上docker 命令的管理员密码)
  2. config.toml的内容是从服务器上抄的, 复制如下
shell 复制代码
disable-require = false
#swarm-resource = "DOCKER_RESOURCE_GPU"
#accept-nvidia-visible-devices-envvar-when-unprivileged = true
#accept-nvidia-visible-devices-as-volume-mounts = false

[nvidia-container-cli]
#root = "/run/nvidia/driver"
#path = "/usr/bin/nvidia-container-cli"
environment = []
#debug = "/var/log/nvidia-container-toolkit.log"
#ldcache = "/etc/ld.so.cache"
load-kmods = true
#no-cgroups = false
#user = "root:video"
ldconfig = "@/sbin/ldconfig.real"

[nvidia-container-runtime]
#debug = "/var/log/nvidia-container-runtime.log"
log-level = "info"

# Specify the runtimes to consider. This list is processed in order and the PATH
# searched for matching executables unless the entry is an absolute path.
runtimes = [
    "docker-runc",
    "runc",
]

mode = "auto"

    [nvidia-container-runtime.modes.csv]

    mount-spec-path = "/etc/nvidia-container-runtime/host-files-for-container.d"
  1. 不需要重启docker, 只要重启容器就可以了. 需要服务器docker admin list权限.
    上面的链接当中, 使用命令sudo systemctl restart docker重启docker, 需要服务器admin权限,权限等级比较高. 我只是在docker list 当中.
    我首先执行了sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi.

然后再重启我的container.

我使用docker ps -a查看我的container_id, 然后使用docker stop <container_id>关闭我的container, 再使用docker start <container_id>重启

然后就成功了

相关推荐
fengkai45454 小时前
3、Kubernetes的Namespace&Contexts&Pod&YAML格式
运维·容器·kubernetes·k8s·namespace·yaml·pod
容器魔方5 小时前
Volcano v1.16 发布:新增 NamespaceQueue 与 fairshare,拓展 HyperNode 生态
人工智能·云原生·容器·华为云·云计算
秦jh_6 小时前
【Docker】镜像、卷原理
运维·docker·容器
小马同学-6 小时前
K8s 命名空间与上下文:Namespace 资源隔离与多集群切换实战
云原生·容器·kubernetes
程序员老赵7 小时前
Docker 部署 XWiki:轻松搭建企业知识库与协作 Wiki
前端·docker·开源
I'mChloe7 小时前
飞牛NAS部署flatnotes实战:Docker、8080端口、Markdown笔记与固定地址访问
笔记·docker·容器
许知珩8 小时前
Kubernetes 存储与配置管理 ——Volume、ConfigMap 与 Secret 实战详解
云原生·容器·kubernetes
Flynn Liang12 小时前
5分钟跑通MQTT:EMQX Docker部署+MQTTX联调(2026最新版,含踩坑)
物联网·mqtt·docker·iot·emqx
丨晨 丨13 小时前
K8s存储卷与配置管理实战
云原生·容器·kubernetes
暖核13 小时前
K8s 存储与配置:Volume PV‑PVC ConfigMap Secret 实战解析
云原生·容器·kubernetes