"La tua installazione Docker non sta utilizzando un driver di archiviazione supportato."

Ciao, sono un nuovo utente di Discourse con poche conoscenze tecniche.

Ho installato Discourse su Lightsail Ubuntu 18.04.2 seguendo le istruzioni ufficiali. Il forum è attivo e funzionante senza problemi.

Ora ho provato a installare un plugin: Install plugins on a self-hosted site

./launcher rebuild app restituisce questo errore

“La tua installazione Docker non sta utilizzando un driver di archiviazione supportato. Se procedessimo, potresti avere un’installazione danneggiata. aufs è il driver di archiviazione consigliato, anche se zfs/btrfs/overlay e overlay2 potrebbero funzionare. Altri driver di archiviazione sono noti per essere problematici. Puoi scoprire quale filesystem stai utilizzando eseguendo “docker info” e controllando la riga ‘Storage Driver’. Se desideri procedere comunque con il tuo driver di archiviazione non supportato, leggi il codice sorgente di launcher e scopri come bypassare questo controllo.”

Ho cercato lo stesso messaggio in questo forum, ma non sono chiaro su cosa fare esattamente dalle risposte.

Docker info sul mio setup restituisce overlay2.

Non capisco come Discourse possa essere stato installato correttamente, mentre l’installazione del plugin/rebuild non funzioni.

Tra l’installazione e il tentativo di installazione del plugin/rebuild, ho solo aggiornato Discourse e il gestore Docker come indicato da una notifica, ed eseguito apt-get update e apt-get upgrade.

Qualcuno può chiarire se overlay2 può funzionare? O se è necessario aufs? Quali sono esattamente le istruzioni da seguire per far funzionare l’installazione del plugin?

Grazie mille
Maynard

Puoi eseguire docker info e incollare l’output qui?

Molte grazie per la rapida risposta. Ecco l’output di docker info:

Client:
 Debug Mode: false

Server:
 Containers: 1
Running: 1
Paused: 0
Stopped: 0
 Images: 2
 Server Version: 19.03.1
 Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
 runc version: 425e105d5a03fabd737a126ad93d62a9eeede87f
 init version: fec3683
 Security Options:
apparmor
seccomp
Profile: default
 Kernel Version: 4.15.0-1044-aws
 Operating System: Ubuntu 18.04.2 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 1
 Total Memory: 1.945GiB
 Name: ip-172-26-45-250
 ID: X2FT:FW3R:QQM2:BNNU:4L3L:QYEV:WMI4:IC2T:LHJV:UNSG:RYHH:OWJ7
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
127.0.0.0/8
 Live Restore Enabled: false

ATTENZIONE: Nessun supporto per il limite di swap

Oh, penso di sapere cosa sta succedendo.

Prova:

cd /var/discourse
git pull
./launcher rebuild app

Grazie ancora per la risposta rapida.

L’aggiunta di git pull ha funzionato e il plugin Data Explorer ora è operativo.

Strano. Cos’era?

Beh, è una storia lunga.

Docker 19.x ha modificato l’intera struttura dell’output di docker info.

Abbiamo risolto il problema quando la versione 19.x era ancora nella branch beta, più di un mese fa, qui: FIX: Make storage detection compatible with docker 19.x · discourse/discourse_docker@98c5fec · GitHub. Il fatto che il nostro script launcher si aggiorni automaticamente rende questo problema irrilevante per la maggior parte degli utenti.

Tuttavia, lo script launcher verifica la compatibilità dell’archiviazione prima di aggiornarsi automaticamente. Quindi, gli utenti che hanno una versione vecchia del launcher e aggiornano Docker prima di aggiornare il launcher possono trovarsi in quello stato.

Non è la prima volta che ci imbattiamo in questo: non potrebbe il launcher aggiornarsi prima e poi chiedere all’utente di rieseguire?

Sì, dovrebbe. Vuoi provare quella modifica?