L'aggiornamento di Docker ha rimosso il driver di memoria AUFS, causando problemi a Discourse

Gestisco un forum Discourse su Ubuntu 20.04.6 LTS. L’immagine Docker utilizza AUFS per lo storage.

Oggi ho installato degli aggiornamenti tramite sudo apt upgrade. Ora il forum Discourse non è più accessibile, e sembra che un aggiornamento di Docker abbia rimosso il driver di storage AUFS.

Vedo molte guide per configurare Docker per utilizzare Overlay2, ma non vedo alcuna guida su come migrare la mia installazione Discourse esistente per utilizzare Overlay2, specialmente ora che non riesco ad avviare Docker per montare i miei volumi AUFS.

Quando eseguo

sudo dockerd --debug

L’output è

INFO[2024-05-15T19:49:04.327570182-04:00] Starting up
DEBU[2024-05-15T19:49:04.332295421-04:00] Listener created for HTTP on unix (/var/run/docker.sock)
WARN[2024-05-15T19:49:04.340758649-04:00] failed to rename /var/lib/docker/tmp for background deletion: rename /var/lib/docker/tmp /var/lib/docker/tmp-old: file exists. Deleting synchronously
DEBU[2024-05-15T19:49:04.427688615-04:00] Golang's threads limit set to 13680
DEBU[2024-05-15T19:49:04.430903802-04:00] metrics API listening on /var/run/docker/metrics.sock
DEBU[2024-05-15T19:49:04.554881397-04:00] Using default logging driver json-file
DEBU[2024-05-15T19:49:04.555543790-04:00] No quota support for local volumes in /var/lib/docker/volumes: Filesystem does not support, or has not enabled quotas
DEBU[2024-05-15T19:49:04.563660483-04:00] processing event stream                       module=libcontainerd namespace=plugins.moby
DEBU[2024-05-15T19:49:04.567109514-04:00] Error while looking up volume                 driver=local error="volume not found" volume=
DEBU[2024-05-15T19:49:04.567813165-04:00] Error while looking up volume                 driver=local error="volume not found" volume=
INFO[2024-05-15T19:49:04.574217050-04:00] [graphdriver] trying configured driver: aufs
DEBU[2024-05-15T19:49:04.574500003-04:00] daemon configured with a 15 seconds minimum shutdown timeout
DEBU[2024-05-15T19:49:04.574603992-04:00] start clean shutdown of all containers with a 15 seconds timeout...
DEBU[2024-05-15T19:49:04.578694693-04:00] Cleaning up old mountid : start.
DEBU[2024-05-15T19:49:04.579329989-04:00] Cleaning up old mountid : done.
failed to start daemon: error initializing graphdriver: [graphdriver] ERROR: the aufs storage-driver has been deprecated and removed; visit https://docs.docker.com/go/storage-driver/ for more information: aufs

Come posso ripristinare il mio forum Discourse senza perdere dati? Posso in qualche modo ripristinare il driver di storage AUFS e poi migrare a storage Overlay2?

Non perderai dati, si trovano in /var/discourse/shared.

Se docker funziona, esegui semplicemente la ricostruzione e andrà tutto bene.

Purtroppo, Docker ha smesso di funzionare dopo l’aggiornamento. Puoi vedere l’errore nell’ultima riga dell’output che ho fornito.

Posso far funzionare Docker se cambio il contenuto di /etc/docker/daemon.json da

 {
     "storage-driver": "aufs"
 }

a

 {
     "storage-driver": "overlay2"
 }

Tuttavia, il mio forum Discourse continua a non funzionare dopo aver apportato tale modifica.

Stai dicendo che funzionerà e manterrà gli utenti, i post e il resto della configurazione e dei dati storici se eseguo quanto segue e riavvio Docker?

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

La ricostruzione di Discourse in questo modo migrerà tutti i dati del forum allo storage Overlay2?

Mi aspetto che funzioni. Non riesco a immaginare un modo in cui perderai dati.

1 Mi Piace

Avevi ragione, a quanto pare. Dopo aver modificato il driver di archiviazione in /etc/docker/daemon.json in overlay2 ed eseguito ./launcher rebuild app, il forum sembra essere tornato operativo.

Ora mi chiedo se dovrei tentare la sorte ed eseguire un aggiornamento della versione di Ubuntu a 22.04.3 LTS. :slight_smile:

Aspetterei ancora un po’ e creerei una nuova immagine 24.04 e vi migrererei piuttosto che fare un aggiornamento, o semplicemente passerei a 22.04 ora. Non mi fido di quanto materiale non venga aggiornato durante un aggiornamento. Inoltre, eviti i tempi di inattività e se qualcosa va storto il tuo vecchio server funziona ancora.

Spostare un sito Discourse su un altro VPS con rsync

2 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.