Soluzione della community

NVIDIA Container Toolkit su ZimaOS: configurazione attuale della GPU

A generic x86 ZimaOS user with a GTX 1050 wanted NVIDIA Container Toolkit for transcoding and Immich ML but could not use a normal package manager.

Su ZimaOS attuale, non seguire le istruzioni per Ubuntu che installano NVIDIA Container Toolkit con apt sull'host. ZimaOS dispone di una propria integrazione per driver/runtime NVIDIA e la documentazione attuale sulle app Docker mostra container GPU che utilizzano runtime: nvidia insieme a NVIDIA_VISIBLE_DEVICES.

L'utente della fonte del 2025 aveva un server x86 generico con una GTX 1050 e ha notato correttamente che ZimaOS non dispone di un normale gestore di pacchetti Debian. Eseguire il toolkit all'interno di un container Alpine non può nemmeno risolvere il problema del runtime sull'host: il runtime NVIDIA deve esistere a livello dell'host Docker.

Verificare innanzitutto il driver GPU dell'host

nvidia-smi
lspci -nnk | grep -A3 -Ei 'vga|3d|display'

Se nvidia-smi non riesce a comunicare con la GPU, la configurazione Docker non è il primo problema da risolvere.

Verificare se Docker dispone già del runtime NVIDIA

docker info | grep -i nvidia
ps aux | grep '[d]ockerd'

Le versioni attuali di ZimaOS avviano comunemente Docker con il runtime NVIDIA disponibile, anche sui sistemi in cui non viene utilizzato attivamente.

Utilizzare il modello di runtime di ZimaOS

L'attuale guida al runtime Docker NVIDIA di ZimaOS mostra:

services:
  my-gpu-app:
    image: your/image
    runtime: nvidia
    ipc: host
    environment:
      NVIDIA_VISIBLE_DEVICES: all

Perché installare il toolkit in un altro container non funziona

NVIDIA Container Toolkit si integra con Docker/containerd sull'host. La guida all'installazione di NVIDIA Container Toolkit ufficiale di NVIDIA utilizza nvidia-ctk runtime configure per modificare la configurazione Docker dell'host e riavviare Docker.

Non copiare le istruzioni apt in ZimaOS

La guida all'installazione di NVIDIA presume distribuzioni supportate in stile Debian/RPM con gestori di pacchetti sull'host. ZimaOS attuale non viene gestito in questo modo, quindi le istruzioni per i pacchetti dell'host possono entrare in conflitto con l'immagine appliance e con il modello di aggiornamento.

Testare l'accesso alla GPU in un container

Quando il driver e il runtime dell'host funzionano correttamente, utilizza un container noto con supporto GPU o la tua app di destinazione per confermare che il dispositivo sia effettivamente visibile all'interno del container.

La GTX 1050 ha limiti in base al carico di lavoro

Una GTX 1050 può essere adeguata per alcune attività di transcodifica NVENC/NVDEC, ma i carichi di lavoro AI, come l'attuale machine learning di Immich, possono avere requisiti più stringenti in termini di CUDA, VRAM, modelli e framework. Il fatto che “Docker veda la GPU” non garantisce che ogni app la supporti.

Eseguire il backup della configurazione delle app prima di modificare le impostazioni del runtime

Non sostituire manualmente i file di servizio Docker o la configurazione del runtime, a meno che tu non possa ripristinarli. Una configurazione errata del runtime sull'host può arrestare tutte le app Docker, non solo il container GPU.

L'attuale guida ai container GPU fornisce un confronto più completo tra i confini software attuali e quelli precedenti.

Verificare il runtime all'interno dell'app di destinazione

nvidia-smi sull'host dimostra soltanto che il driver dell'host ZimaOS rileva la scheda. Apri una shell nel container effettivamente abilitato alla GPU e verifica lì il dispositivo/runtime; in caso contrario, un'app può passare silenziosamente alla CPU mentre la GPU dell'host sembra funzionare correttamente.

Distinguere la transcodifica dalla compatibilità AI

Il supporto NVENC/NVDEC, la capacità di calcolo CUDA, la VRAM e i framework specifici dell'applicazione sono vincoli diversi. Una scheda in grado di gestire la transcodifica di Plex/Jellyfin potrebbe comunque essere troppo vecchia o avere una memoria insufficiente per un modello ML attuale.

FAQ

Devo installare nvidia-container-toolkit con apt su ZimaOS?

No. Utilizza il percorso attuale del runtime NVIDIA di ZimaOS invece di trattare l'host come Ubuntu.

Posso installare il toolkit all'interno di Docker Alpine?

No. L'integrazione del runtime deve esistere sull'host Docker.

Come faccio a sapere se Docker rileva NVIDIA?

Controlla docker info, il comando/il runtime del demone Docker e verifica quindi l'accesso alla GPU all'interno del container di destinazione.

Il comando nvidia-smi sull'host dimostra che Immich ML funzionerà?

No. Dimostra la visibilità del driver sull'host; il container e l'applicazione devono comunque disporre di supporto compatibile per CUDA/VRAM/runtime.