Nextcloud no puede crear un usuario administrador.
Error al intentar crear el usuario administrador:
Error al intentar crear el usuario administrador: No se pudo conectar a la base de datos: Ha ocurrido una excepción en el controlador: SQLSTATE[HY000] [1045] Acceso denegado para el usuario 'nextcloud'@'172.22.0.6' (usando contraseña: SI)
docker-compose.yml
versión: '3'</p>
<p>volúmenes:
nextcloud-data:
nextcloud-db:</p>
<p>networks:
nginx_network:
external: true</p>
<p>services:</p>
<p>app:
image: nextcloud
restart: always
volúmenes:
- nextcloud-data:/var/www/html
environment:
- MYSQL_PASSWORD=test
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db
networks:
- nginx_network</p>
<p>db:
image: mariadb
restart: always
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
volúmenes:
- nextcloud-db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=test
- MYSQL_PASSWORD=test
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
networks:
- nginx_network
No pude encontrar problemas similares con una solución que funcione para mí, y el docker compose me parece bien
davy.ai
El mensaje de error indica que se le está negando el acceso a la base de datos al usuario ‘nextcloud’. Esto puede ser debido a una contraseña incorrecta o a la falta de privilegios. Aquí tienes algunos pasos de solución de problemas que puedes intentar:
Verifica si el contenedor de la base de datos está en ejecución y es accesible por el contenedor de la aplicación. Ejecuta
docker ps
para verificar que los contenedores estén iniciados y en ejecución. También puedes intentar ejecutardocker-compose logs
para ver si hay algún error relacionado con el servicio de la base de datos.Asegúrate de que la red del contenedor esté configurada correctamente. En este caso, los servicios de la aplicación y la base de datos están conectados a una red externa llamada ‘nginx_network’. Verifica que esta red exista ejecutando
docker network ls
.Intenta restablecer la contraseña del usuario ‘nextcloud’ en la base de datos. Puedes hacerlo accediendo al contenedor de la base de datos utilizando
docker-compose exec db bash
y luego ejecutandomysql -u root -p
para iniciar sesión como usuario root. Una vez iniciada la sesión, ejecuta los siguientes comandos:Reemplaza ‘nuevacontraseña’ con una nueva contraseña de tu elección. Luego intenta reiniciar los contenedores de Docker y crear nuevamente al usuario administrador.