“指定的 nvidia 运行时未知。”以前工作现在无法让 docker-compose 工作。 (Ubuntu/Docker)

问题描述 投票:0回答:1

一些背景上下文:我正在尝试在我拥有的 jellyfin 容器上设置 硬件加速。这最初有效,但在尝试重新启动容器后似乎突然停止工作。

我之前使用 nvidia 运行时进行了容器设置。 我安装了

nvidia-docker2
软件包。按照nvidia 安装指南中的所有步骤进行操作。我已经仔细检查过我的驱动程序是否是最新的。从我所知道的一切来看,这应该可以工作。

这是我可以看到已安装的软件包的快照

ii  nvidia-container-runtime              3.13.0-1                                all          NVIDIA container runtime
ii  nvidia-container-toolkit              1.13.5-1                                amd64        NVIDIA Container toolkit
ii  nvidia-container-toolkit-base         1.13.5-1                                amd64        NVIDIA Container Toolkit Base
ii  nvidia-dkms-535                       535.98-0ubuntu0~gpu22.04.1              amd64        NVIDIA DKMS package
ii  nvidia-docker2                        2.13.0-1                                all          nvidia-docker CLI wrapper

这之前也有效,直到我因不相关的原因不得不重新启动容器。现在我无法运行包含 nvidia 运行时的 docker compose(忽略它,一切正常)。

这是我的 docker compose 文件的样子:

version: '3'
services:
  jellyfin:
    image: jellyfin/jellyfin
    user: 1000:1000
    network_mode: 'host'
    volumes:
      - /path/to/config:/config
      - /path/to/cache:/cache
      - /path/to/media:/media
    runtime: nvidia
    deploy:
      resources:
        reservations:
          devices:
            - capabilities: [gpu]

如果有任何关于如何进一步调试的想法/技巧,我将不胜感激。我有点不知所措,因为考虑到我能找到的所有文档/帖子和以前的经验,一切都应该在正确的位置...... 编辑:也包括我的 docker 的 daemon.json 文件:

{ "runtimes": { "nvidia": { "args": [], "path": "nvidia-container-runtime" } } }


docker docker-compose nvidia jellyfin
1个回答
0
投票

我的第一个线索是意识到容器工具正在修改的 docker

daemon.json

文件不是 docker 的 snap 版本所使用的文件(对于我的特定 ubuntu 安装,该文件位于

/var/snap/docker/current/config
下)。手动添加运行时定义让我更进一步(docker 现在知道 nvidia 运行时),但它仍然无法连接到一些必要的库来运行。我发现的一个线索是 docker 的
snap 版本只能访问 
$HOME 中的 文件。
我确信有一种方法可以将所有内容链接起来,但我决定尝试卸载 docker 的 snap 版本并通过 apt 重新安装。这就像一个魅力!

© www.soinside.com 2019 - 2024. All rights reserved.