Soluzione della community

Le app ZimaOS non si avviano automaticamente dopo il riavvio: controlli del runtime Docker

After upgrading to ZimaOS 1.4.3, multiple apps could be started manually but returned to a stopped state after reboot. One contributor traced a broader Docker startup failure to an NVIDIA runtime systemd override.

Questa discussione è iniziata come una segnalazione relativa all’avvio automatico delle applicazioni, ma una risposta successiva ha individuato un problema più profondo: Docker stesso poteva non avviarsi perché un override di systemd forzava nvidia-container-runtime su un host in cui quel percorso del runtime era incompatibile.

Screenshot della dashboard di ZimaOS che mostra le applicazioni container disattivate dopo il riavvio sulla versione 1.4.3
Uno degli screenshot originali che mostra applicazioni avviabili manualmente, ma che non rimanevano attive dopo il riavvio.
Elenco delle applicazioni ZimaOS che mostra altre app che non si avviavano automaticamente dopo l’aggiornamento alla versione 1.4.3
La discussione originale documentava diverse applicazioni basate su Docker interessate dopo l’aggiornamento.
Vista mobile della dashboard di ZimaOS con diverse app container non avviate automaticamente dopo il riavvio
Un altro screenshot originale della segnalazione relativa all’avvio automatico delle app.
Dashboard delle app ZimaOS che mostra lo stato dei container interessati dopo il riavvio del sistema sulla versione 1.4.3
Una prova originale della community che mostra il ripetersi dello stato delle applicazioni dopo il riavvio.

Verifica innanzitutto se Docker si sta avviando

Se diverse app non correlate smettono di funzionare dopo il riavvio, controlla il servizio Docker prima di modificare ogni singola applicazione. La risoluzione dei problemi del demone Docker documenta gli errori di avvio del demone causati da configurazioni e override di systemd in conflitto.

I requisiti dell’App Store di ZimaOS aiutano a capire quali applicazioni sono basate su Docker, mentre la guida alla prima app Docker illustra il normale flusso di lavoro dei container in ZimaOS. Un problema che interessa contemporaneamente molti container è più probabilmente legato al livello del demone o del runtime che a nove bug indipendenti delle applicazioni.

La policy di riavvio non è l’unico livello coinvolto

Le policy di riavvio di Docker spiegano cosa fa il demone con i container arrestati. Non sono utili se il demone Docker stesso non riesce ad avviarsi correttamente.

La correzione del runtime NVIDIA era specifica del sistema

Un contributore ha disabilitato un override di systemd di Docker che aggiungeva esplicitamente nvidia-container-runtime. Dopo il riavvio, Docker è tornato operativo, ma il supporto per la GPU NVIDIA non era più configurato tramite quell’override.

La guida NVIDIA Container Toolkit attualmente consiglia di configurare Docker con nvidia-ctk runtime configure --runtime=docker e poi riavviare Docker. Questo è un contesto importante: rinominare un file di override proveniente da una vecchia discussione della community non deve essere considerato il metodo moderno universale per configurare o rimuovere il runtime NVIDIA.

Controlla lo spazio libero prima di modificare i file di sistema

Un utente successivo ha provato a rinominare l’override e ha ricevuto No space left on device. Si tratta di una causa principale diversa, che deve essere risolta per prima. Le modifiche di ZimaOS 1.5 forniscono il contesto della versione, mentre il flusso di risoluzione dei problemi di ZimaOS è utile quando, dopo un aggiornamento, si verifica un problema più ampio a livello dell’host.

Un ordine diagnostico più sicuro

  1. Controlla se Docker è attivo e consulta i log recenti.
  2. Verifica che il disco di sistema non sia pieno.
  3. Controlla le policy di riavvio dei container solo dopo aver verificato che il demone sia operativo.
  4. Se nei log viene menzionato il caricamento del runtime NVIDIA, esamina la configurazione attuale del runtime prima di modificarla.
  5. Esegui un backup di qualsiasi override personalizzato di systemd prima di modificarlo.

In sintesi

La discussione originale non dimostra che tutti i problemi di avvio automatico di ZimaOS 1.4.3 avessero la stessa causa. Su un sistema, un override del runtime Docker NVIDIA impediva al demone di avviarsi normalmente; su un altro, il tentativo di correzione ha rivelato che il disco di sistema era pieno. Prima di applicare la soluzione storica basata sull’override, diagnostica il demone Docker e lo stato dello spazio di archiviazione.