"Tu instalación de Docker no está utilizando un controlador de almacenamiento compatible."

Hola, soy usuario de Discourse por primera vez y no tengo muchos conocimientos técnicos.

He instalado Discourse en Lightsail Ubuntu 18.04.2 siguiendo las instrucciones oficiales. El foro está funcionando sin problemas.

Ahora intenté instalar un plugin: Install plugins on a self-hosted site

./launcher rebuild app muestra este error:

“Tu instalación de Docker no está utilizando un controlador de almacenamiento compatible. Si procedemos, es posible que la instalación quede rota. aufs es el controlador de almacenamiento recomendado, aunque zfs/btrfs/overlay y overlay2 también podrían funcionar. Otros controladores de almacenamiento son conocidos por causar problemas. Puedes averiguar qué sistema de archivos estás utilizando ejecutando “docker info” y buscando la línea “Storage Driver”. Si deseas continuar de todos modos utilizando tu controlador de almacenamiento no compatible, lee el código fuente de launcher y averigua cómo omitir esta verificación.”

He buscado el mismo mensaje en este foro y no queda claro exactamente qué hacer según las respuestas.

Docker info en mi configuración muestra overlay2.

No entiendo cómo Discourse pudo instalarse correctamente, pero la instalación del plugin/reconstrucción no funciona.

Entre la instalación y el intento de instalar/reconstruir el plugin, solo actualicé Discourse y el gestor de Docker según una notificación, y ejecuté apt-get update y apt-get upgrade.

¿Alguien podría aclarar si overlay2 puede funcionar? ¿O si es necesario aufs? ¿Cuáles son exactamente las instrucciones que debo seguir para que la instalación del plugin funcione?

Muchas gracias,
Maynard

¿Podrías ejecutar docker info y pegar la salida aquí?

Muchas gracias por la respuesta rápida. Aquí está la salida de 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

WARNING: No swap limit support

Oh, creo que sé qué está pasando.

Intenta:

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

Muchas gracias de nuevo por la respuesta rápida.

Agregar el git pull funcionó y el plugin de explorador de datos ahora está funcionando.

Eso es extraño. ¿Qué fue?

Bueno, es una historia larga.

Docker 19.x cambió por completo la estructura de la salida de docker info.

Lo solucionamos cuando la versión 19.x aún estaba en la rama beta, hace más de un mes, en FIX: Make storage detection compatible with docker 19.x · discourse/discourse_docker@98c5fec · GitHub. El hecho de que nuestro script de lanzamiento se actualice automáticamente hace que esto no sea un problema para la mayoría de las personas.

Sin embargo, nuestro script launcher verifica la compatibilidad del almacenamiento antes de actualizarse automáticamente. Por lo tanto, quienes tienen un lanzador antiguo y actualizan Docker antes de actualizar el lanzador pueden caer en ese estado.

No es la primera vez que nos encontramos con esto; ¿podría el lanzador actualizar primero y luego pedir al usuario que lo ejecute de nuevo?

Sí, debería funcionar. ¿Te gustaría probar ese cambio?