Communitylö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.

Följ inte Ubuntu-instruktioner som installerar NVIDIA Container Toolkit med apt på värdsystemet när du använder nuvarande ZimaOS. ZimaOS har egen integration för NVIDIA-drivrutinen och körtidsmiljön, och den aktuella dokumentationen för Docker-appar visar att GPU-containrar använder runtime: nvidia tillsammans med NVIDIA_VISIBLE_DEVICES.

Källan från 2025 gällde en vanlig x86-server med ett GTX 1050-kort, och användaren märkte helt riktigt att ZimaOS saknar en vanlig Debian-pakethanterare. Att köra verktygslådan i en Alpine-container löser inte heller problemet med körtidsmiljön på värdsystemet - NVIDIA-körtidsmiljön måste finnas på Docker-värdnivå.

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

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-körtidsmiljön

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

Med nuvarande ZimaOS startas Docker vanligtvis med NVIDIA-körtidsmiljön tillgänglig, även på system där den inte används aktivt.

Använd ZimaOS-modellen för körtidsmiljö

Den aktuella guiden för NVIDIA Docker-körtidsmiljö 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ärdsystemet. NVIDIAs egen installationsguide för NVIDIA Container Toolkit använder nvidia-ctk runtime configure för att ändra Dockers konfiguration på värdsystemet och starta om Docker.

Kopiera inte apt-instruktioner till ZimaOS

NVIDIAs installationsguide förutsätter att distributionen stöds och är av Debian-/RPM-typ med pakethanterare på värdsystemet. ZimaOS underhålls inte på det sättet, så instruktioner för paket på värdsystemet kan stå i konflikt med systemavbildningen och uppdateringsmodellen för den inbyggda enheten.

Testa GPU-åtkomst i en container

När värddrivrutinen och körtidsmiljön fungerar som de ska kan du använda en känd GPU-aktiverad container eller målappen för att bekräfta att enheten faktiskt är synlig inifrån containern.

GTX 1050 har begränsningar för olika arbetsbelastningar

Ett GTX 1050 kan räcka för viss omkodning med NVENC/NVDEC, men AI-arbetsbelastningar som aktuell maskininlärning i Immich kan ha striktare krav på CUDA, grafikminne, modeller och ramverk. Att ”Docker ser GPU:n” garanterar inte att alla appar stöder den.

Säkerhetskopiera appkonfigurationen innan du ändrar inställningarna för körtidsmiljön

Byt inte ut Docker-tjänstfiler eller konfigurera om körtidsmiljön manuellt om du inte kan återställa ändringarna. En felaktig konfiguration av värdens körtidsmiljö kan stoppa alla Docker-appar, inte bara GPU-containern.

Den aktuella guiden för GPU-containrar ger en mer utförlig jämförelse av aktuella och äldre mjukvarugränser.

Kontrollera körtidsmiljön i målprogrammet

nvidia-smi på värden visar bara att ZimaOS-värdens drivrutin ser grafikkortet. Öppna ett skal i den GPU-aktiverade containern och verifiera enheten och körtidsmiljön där. Annars kan ett program i tysthet falla tillbaka på CPU:n, trots att värdens GPU verkar fungera som den ska.

Skilj mellan omkodning och AI-kompatibilitet

Stöd för NVENC/NVDEC, CUDA-beräkningskapacitet, grafikminne och programspecifika ramverk är olika begränsningar. Ett grafikkort som klarar omkodning med Plex/Jellyfin kan ändå vara för gammalt eller ha för lite grafikminne för en aktuell ML-modell.

Vanliga frågor

Ska jag installera nvidia-container-toolkit med apt på ZimaOS?

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

Kan jag installera verktygspaketet i Alpine Docker?

Nej. Integrationen med körtidsmiljön måste finnas på Docker-värden.

Hur vet jag om Docker ser NVIDIA?

Kontrollera docker info, Docker-daemonens kommando och körtidsmiljö, och verifiera sedan GPU-åtkomsten inifrån målcontainern.

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

Nej. Det visar att värddrivrutinen kan se grafikkortet; containern och programmet behöver fortfarande stöd för kompatibel CUDA, grafikminne och körtidsmiljö.