Soluzione della community

Distribuisci la tua app Docker su ZimaOS senza errori di root

A household web app worked with Docker Compose elsewhere but failed on ZimaOS because Docker tried to create /root/.docker on the read-only root filesystem.

In breve: l’app funzionava: Docker cercava di scrivere la configurazione della CLI nella root di ZimaOS, che è in sola lettura

Lo stack Compose funzionava già su un’altra macchina. Su ZimaOS non riusciva a eseguire mkdir /root/.docker: read-only file system. Impostare DOCKER_CONFIG su un percorso scrivibile ha risolto il problema reale.

Per un’app occasionale, usa un percorso scrivibile per la configurazione di Docker

sudo -i
mkdir -p /var/lib/docker/.docker
export DOCKER_CONFIG=/var/lib/docker/.docker
docker compose up -d

Nel caso reale, il comando ha funzionato perché Docker non ha più provato a creare /root/.docker nel filesystem root dell’appliance. Docker documenta la variabile d’ambiente DOCKER_CONFIG nella configurazione della CLI Docker.

Per un’app ZimaOS ripetibile, prepara correttamente il file Compose

La versione attuale di ZimaOS usa il normale Docker Compose per le impostazioni di runtime e un blocco x-casaos di primo livello per i metadati dell’app store. I metadati delle app ZimaOS definiscono i campi attuali della v2.

Lo schema Docker Compose upstream rimane la fonte di riferimento per il runtime.

Perché l’interfaccia non poteva usare l’immagine caricata localmente

Il flusso di installazione dell’App Store richiede un riferimento a un’immagine che possa essere risolto tramite la definizione dell’app. Un’immagine locale caricata manualmente può esistere in Docker senza però soddisfare il percorso di installazione dello store. Per un’app privata destinata alla famiglia, Compose diretto è più semplice; per la distribuzione, pubblica l’immagine in un registro oppure crea un pacchetto app ZimaOS appropriato.

Conserva i dati dell’applicazione su uno storage scrivibile

Associa database, caricamenti e configurazione a percorsi host persistenti. I requisiti di Portainer rappresentano un’alternativa per i carichi di lavoro Docker gestiti manualmente.

Usa il protocollo dello store solo quando ti servono le funzionalità dello store

Se l’obiettivo è un’unica app per la lista della spesa familiare, Compose diretto è sufficiente. Se invece vuoi distribuire un catalogo installabile con icone, metadati e aggiornamenti, usa l’attuale struttura v2 dell’app store di ZimaOS. I requisiti delle app ZimaOS forniscono il contesto per la distribuzione.