"Sua instalação do Docker não está usando um driver de armazenamento suportado."

Olá, sou usuário do Discourse pela primeira vez e tenho poucos conhecimentos técnicos.

Instalei o Discourse no Lightsail Ubuntu 18.04.2 seguindo as instruções oficiais. O fórum está no ar e funcionando sem problemas.

Agora tentei instalar um plugin: Install plugins on a self-hosted site

O comando ./launcher rebuild app retornou o seguinte erro:

“Sua instalação do Docker não está usando um driver de armazenamento suportado. Se prosseguirmos, sua instalação pode ficar corrompida. O aufs é o driver de armazenamento recomendado, embora zfs/btrfs/overlay e overlay2 também possam funcionar. Outros drivers de armazenamento são conhecidos por causar problemas. Você pode verificar qual sistema de arquivos está usando executando “docker info” e procurando pela linha ‘Storage Driver’. Se desejar continuar mesmo assim com seu driver de armazenamento não suportado, leia o código-fonte do launcher e descubra como contornar essa verificação.”

Pesquisei por essa mesma mensagem neste fórum, mas não ficou claro exatamente o que fazer com base nas respostas.

O comando docker info no meu ambiente retorna overlay2.

Não entendo como o Discourse pôde ser instalado corretamente, mas a instalação/reconstrução do plugin não funcionou.

Entre a instalação e a tentativa de instalar/reconstruir o plugin, atualizei apenas o Discourse e o gerenciador do Docker conforme uma notificação, e executei apt-get update e apt-get upgrade.

Alguém poderia esclarecer se o overlay2 pode funcionar? Ou se o aufs é necessário? Quais são exatamente as instruções que preciso seguir para que a instalação do plugin funcione?

Muito obrigado,
Maynard

Você pode executar docker info e colar a saída aqui, por favor?

Muito obrigado pela resposta rápida. Aqui está a saída 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

AVISO: Suporte a limite de swap não disponível

Ah, acho que sei o que está acontecendo.

Tente:

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

Muito obrigado novamente pela resposta rápida.

Adicionar o git pull funcionou e o plugin do explorador de dados agora está funcionando.

Estranho. O que foi?

Bem, é uma longa história.

O Docker 19.x alterou toda a estrutura da saída do docker info.

Nós corrigimos isso quando a versão 19.x ainda estava na branch de beta, há mais de um mês, em FIX: Make storage detection compatible with docker 19.x · discourse/discourse_docker@98c5fec · GitHub. O fato de nosso script launcher se atualizar automaticamente torna isso irrelevante para a maioria das pessoas.

No entanto, nosso script launcher verifica a compatibilidade de armazenamento antes de realizar a atualização automática. Portanto, quem tem uma versão antiga do launcher e atualiza o Docker antes de atualizar o launcher pode acabar nesse estado.

Não é a primeira vez que nos deparamos com isso. O launcher não poderia atualizar primeiro e, em seguida, pedir ao usuário para executar novamente?

Sim, deve funcionar. Gostaria de tentar essa alteração?