O erro que você está recebendo é causado pelo fato de MariaDB achar que você não está autorizado a se conectar ao servidor. Isso significa que você não criou um usuário de banco de dados para o aplicativo Node.js ou as concessões para esse usuário estão incorretas.
Uma maneira infalível de resolver isso é criar um usuário separado para o aplicativo Node.js. Você pode automatizar isso escrevendo o seguinte SQL em um arquivo e montando o volume em
/docker-entrypoint-initdb.d
. CREATE USER 'my-app-user'@'%' IDENTIFIED BY 'my-app-password';
GRANT ALL ON *.* TO 'my-app-user'@'%';
Altere o nome de usuário e a senha de acordo e reduza os privilégios fornecidos em
ALL
privilégio. Você também pode alterar o nome de host curinga %
para um endereço IP ou nome de host específico.