Gemenskapslösning

NVIDIA Container Toolkit på ZimaOS: Aktuell GPU-konfiguration

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.

På nuvarande ZimaOS ska du inte följa Ubuntu-instruktioner som installerar NVIDIA Container Toolkit med apt på värden. ZimaOS har en egen integrering av NVIDIA-drivrutin och runtime, och den aktuella dokumentationen för Docker-appar visar GPU-containrar med runtime: nvidia samt NVIDIA_VISIBLE_DEVICES.

Användaren i källan från 2025 hade en vanlig x86-server med ett GTX 1050 och lade korrekt märke till att ZimaOS inte har någon normal pakethanterare för Debian. Att köra verktygslådan i en Alpine-container kan inte heller lösa problemet med runtime på värden – NVIDIA-runtime måste finnas på Docker-värdlagret.

Verifiera först GPU-drivrutinen på värden

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

Om nvidia-smi inte kan kommunicera med GPU:n är Docker-konfigurationen inte det första problemet.

Kontrollera om Docker redan har NVIDIA-runtime

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

Aktuella versioner av ZimaOS startar ofta Docker med NVIDIA-runtime tillgänglig, även på system där den inte används aktivt.

Använd ZimaOS runtime-modell

Den aktuella guiden för NVIDIA Docker-runtime i ZimaOS visar:

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

Varför det inte fungerar att installera verktygslådan i en annan container

NVIDIA Container Toolkit integreras med Docker/containerd på värden. NVIDIA:s egen installationsguide för NVIDIA Container Toolkit använder nvidia-ctk runtime configure för att ändra Docker-konfigurationen på värden och starta om Docker.

Kopiera inte apt-instruktioner till ZimaOS

NVIDIA:s installationsguide förutsätter Debian-/RPM-baserade distributioner som stöds och har pakethanterare på värden. Aktuella ZimaOS underhålls inte på det sättet, så instruktioner för installation på värden kan komma i konflikt med appliance-avbildningen och uppdateringsmodellen.

Testa GPU-åtkomst i en container

När drivrutinen och runtime på värden fungerar korrekt använder du en känd GPU-aktiverad container eller målappen för att bekräfta att enheten faktiskt är synlig inuti containern.

GTX 1050 har begränsningar för arbetsbelastningar

Ett GTX 1050 kan vara tillräckligt för viss transkodning med NVENC/NVDEC, men AI-arbetsbelastningar som aktuell maskininlärning i Immich kan ha striktare krav på CUDA, VRAM, modeller och ramverk. Att ”Docker ser GPU:n” garanterar inte att varje app stöder den.

Säkerhetskopiera appkonfigurationen innan du ändrar runtime-inställningar

Byt inte manuellt ut Docker-tjänstfiler eller runtime-konfigurationen om du inte kan återställa dem. En felaktig runtime-konfiguration på värden kan stoppa alla Docker-appar, inte bara GPU-containern.

Den aktuella guiden för GPU-containrar ger en mer utförlig beskrivning av den nuvarande och tidigare programvarugränsen.

Kontrollera runtime inuti målappen

nvidia-smi på värden bevisar endast att ZimaOS-drivrutinen på värden ser kortet. Öppna ett skal i den faktiska GPU-aktiverade containern och verifiera enheten och runtime där. Annars kan en app omärkligt falla tillbaka till CPU även om GPU:n på värden verkar fungera.

Håll isär transkodning och AI-kompatibilitet

Stöd för NVENC/NVDEC, CUDA-beräkningskapacitet, VRAM och programspecifika ramverk är olika begränsningar. Ett kort som klarar transkodning i Plex/Jellyfin kan fortfarande vara för gammalt eller ha för lite minne för en aktuell ML-modell.

Vanliga frågor

Bör jag installera nvidia-container-toolkit med apt på ZimaOS?

Nej. Använd den aktuella NVIDIA-runtime-vägen i ZimaOS i stället för att behandla värden som Ubuntu.

Kan jag installera verktygslådan i Alpine Docker?

Nej. Runtime-integreringen måste finnas på Docker-värden.

Hur vet jag om Docker ser NVIDIA?

Kontrollera docker info, Docker-daemonens kommando/runtime och verifiera sedan GPU-åtkomsten inuti målcontainern.

Bevisar nvidia-smi på värden att Immich ML fungerar?

Nej. Det bevisar att drivrutinen på värden ser GPU:n, men containern och appen behöver fortfarande kompatibelt stöd för CUDA, VRAM och runtime.