Mise à niveau de Docker a supprimé le pilote de stockage AUFS, ce qui a tué Discourse

J’exécute une installation de forum Discourse sur Ubuntu 20.04.6 LTS. L’image Docker utilise AUFS pour le stockage.

Aujourd’hui, j’ai installé des mises à jour via sudo apt upgrade. Désormais, le forum Discourse n’est plus accessible, et il semble que cela soit dû à une mise à niveau de Docker qui a supprimé le pilote de stockage AUFS.

Je vois de nombreux guides pour configurer Docker afin d’utiliser Overlay2 à la place, mais je ne vois aucun guide sur la façon de migrer mon installation Discourse existante pour utiliser Overlay2, surtout maintenant que je ne peux pas démarrer Docker pour monter mes volumes AUFS.

Lorsque j’exécute

sudo dockerd --debug

La sortie est

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

Comment puis-je restaurer mon forum Discourse sans perdre de données ? Puis-je d’une manière ou d’une autre restaurer le pilote de stockage AUFS, puis migrer vers le stockage Overlay2 ?

Vous ne perdrez aucune donnée, elle se trouve dans /var/discourse/shared.

Si docker fonctionne, reconstruisez simplement et tout ira bien.

Malheureusement, Docker a cessé de fonctionner après la mise à niveau. Vous pouvez voir l’erreur dans la dernière ligne de la sortie que j’ai fournie.

Je peux faire fonctionner Docker si je modifie le contenu de /etc/docker/daemon.json de

 {
     "storage-driver": "aufs"
 }

à

 {
     "storage-driver": "overlay2"
 }

Cependant, mon forum Discourse ne fonctionne toujours pas après avoir effectué cette modification.

Dites-vous qu’il fonctionnera, et conservera les utilisateurs, les messages, et le reste de la configuration et des données historiques si j’exécute ce qui suit et redémarre Docker ?

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

La reconstruction de Discourse de cette manière migrera-t-elle toutes les données du forum vers le stockage Overlay2 ?

Je m’attends à ce que cela fonctionne. Je ne vois pas comment vous pourriez perdre des données.

1 « J'aime »

Vous aviez raison, apparemment. Après avoir changé le pilote de stockage dans /etc/docker/daemon.json pour overlay2 et exécuté ./launcher rebuild app, le forum semble être de nouveau opérationnel.

Maintenant, je me demande si je devrais tenter le destin et faire une mise à niveau de la version d’Ubuntu vers 22.04.3 LTS. :slight_smile:

J’attendrais encore un peu et je créerais une nouvelle image 24.04 et j’y migrerais plutôt que de faire une mise à niveau, ou je passerais simplement à la 22.04 maintenant. Je ne fais pas confiance à la quantité de choses qui ne sont pas mises à niveau lors d’une mise à niveau. De plus, vous évitez les temps d’arrêt et si quelque chose se passe mal, votre ancien serveur fonctionne toujours.

Déplacer un site Discourse vers un autre VPS avec rsync

2 « J'aime »

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