---
title: "Ubuntu24.04でDockerのruntimeにnvidiaが存在しない時"
url: "https://blog.101ta28.com/posts/ubuntu-24-04-docker-nvidia-runtime-missing/"
language: "ja"
description: "Ubuntu24.04でDockerのOCI Runtimeにnvidiaが存在しないとき"
---

# Ubuntu24.04でDockerのruntimeにnvidiaが存在しない時

> Ubuntu24.04でDockerのOCI Runtimeにnvidiaが存在しないとき

ローカルLLMを動かすために、OllamaとOpen WebUIをDockerで動かすことにした。  
Docker(コンテナ)とGPUを連携させるための経緯を記載する。

## 結論

**Docker Desktopを利用しない。Docker Engineを利用すると解決した。**

NvidiaのドライバーやNVIDIA Container Toolkit (旧 NVIDIA Container Runtime)のインストールは割愛する。

## 失敗例: Docker Desktopを利用する

最初は、Docker Desktopをインストールした。

ドライバーとNVIDIA Container Toolkitをインストールし、`docker info | grep Runtime`でランタイムチェックをしたが...

```bash
 Runtimes: runc io.containerd.runc.v2
 Default Runtime: runc
```

runtimeでnvidiaが存在しなかった。再インストールしたが変わらなかった。

## 成功例: Docker Engineを利用する

Docker Desktopと付随するパッケージを**アンインストール**し、Docker Engineをインストールした。

Docker Desktopと同じく、ドライバーとNVIDIA Container Toolkitをインストールした。  
ランタイムチェックをするとnvidiaが存在していた。

```bash
 Runtimes: runc io.containerd.runc.v2 nvidia
 Default Runtime: runc
```

`sudo vim /etc/docker/daemon.json`でdefault-runtimeをnvidiaに設定する。

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

この設定を追加することで、毎回gpusオプションを使わなくて良い。  
Docker Desktopとnvidiaのランタイムは相性が悪かったようだ。
