La actualización de Docker eliminó el controlador de almacenamiento AUFS, afectando a Discourse

Ejecuto una instalación de foro de Discourse en Ubuntu 20.04.6 LTS. La imagen de Docker utiliza AUFS para el almacenamiento.

Hoy, instalé actualizaciones a través de sudo apt upgrade. Ahora el foro de Discourse ya no es accesible, y parece ser porque una actualización de Docker eliminó el controlador de almacenamiento AUFS.

Veo muchas guías para configurar Docker para usar Overlay2 en su lugar, pero no veo ninguna guía sobre cómo migrar mi instalación existente de Discourse para usar Overlay2, especialmente ahora que no puedo iniciar Docker para montar mis volúmenes AUFS.

Cuando ejecuto

sudo dockerd --debug

La salida es

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

¿Cómo puedo restaurar mi foro de Discourse sin perder datos? ¿Puedo de alguna manera restaurar el controlador de almacenamiento AUFS y luego migrar al controlador de almacenamiento Overlay2?

No perderás datos, están en /var/discourse/shared.

Si docker funciona, simplemente reconstruye y estarás bien.

Lamentablemente, Docker dejó de funcionar después de la actualización. Puede ver el error en la última línea de la salida que proporcioné.

Puedo hacer que Docker funcione si cambio el contenido de /etc/docker/daemon.json de

 {
     "storage-driver": "aufs"
 }

a

 {
     "storage-driver": "overlay2"
 }

Sin embargo, mi foro de Discourse todavía no funciona después de hacer ese cambio.

¿Está diciendo que funcionará y mantendrá a los usuarios, publicaciones y el resto de la configuración y los datos históricos si ejecuto lo siguiente y reinicio Docker?

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

¿La reconstrucción de Discourse de esa manera migrará todos los datos del foro al almacenamiento Overlay2?

Creo que eso funcionará. No puedo imaginar una forma en la que pierdas datos.

1 me gusta

Tenías razón, al parecer. Después de cambiar el controlador de almacenamiento en /etc/docker/daemon.json a overlay2 y ejecutar ./launcher rebuild app, el foro parece estar de nuevo en funcionamiento.

Ahora me pregunto si debería tentar a la suerte y hacer una actualización de la versión de Ubuntu a 22.04.3 LTS. :slight_smile:

Esperaría un poco más y crearía una nueva imagen 24.04 y migraría a ella en lugar de hacer una actualización, o simplemente me movería a la 22.04 ahora. No confío en cuántas cosas no se actualizan en una actualización. Además, evitas el tiempo de inactividad y, si algo sale mal, tu servidor antiguo sigue funcionando.

Mover un sitio de Discourse a otro VPS con rsync

2 Me gusta

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