El problema en mi caso se ha presentado porque, cuando se inició Sail por primera vez, no existía el archivo .env. No me acordé de crearlo según hice el clonado.
Por culpa de eso, la base de datos se ha creado con datos de usuario y contraseña que no corresponden con los que se intenta acceder cuando se incorporó más tarde el .env.
Primero muy importante, cuando cambias el archivo .env con los datos de la base de datos, necesitas borrar los volúmenes creados del contenedor de la base de datos, para que se puedan crear de nuevo las bases de datos con los datos del .env nuevos.
sail down -v
Luego podrás volver a arrancar los contenedores y se volverán a crear las bases de datos con los datos actualizados del .env.
sail up
Por supuesto, una vez has borrado los volúmenes de los contenedores, tendrás que volver a crear las tablas de la base de datos.
sail php artisan migrate
Y otro detalle que quiero señalar por si puede ser un problema para otras personas, aunque en mi caso no era este, es que cuando trabajas con Laravel Sail y cambias algún detalle del archivo de configuración de Docker, docker-compose.yml
, debes ejecutar el build de las imágenes de los contenedores.
sail build --no-cache
Así se realiza el rebuild evitando que te pille cosas de la caché por lo que las imágenes estarán actualizadas y con los datos del docker-compose.yml
. Luego puedes volver a arracar Sail ya con las imágenes frescas.