sql >> Base de Datos >  >> RDS >> Mysql

'No se puede conectar al servidor MySQL en \'db\' Django-Restframework con Mysql en docker

Esto puede suceder si el contenedor de su aplicación (web aquí) comienza antes de que su base de datos esté completamente inicializada.

Debes esperar hasta db se inicia el servicio (más precisamente, hasta que mysql está aceptando conexiones) antes de iniciar su aplicación (python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:8000 ).

Para eso, puedes usar wait-for-it.sh script (marque https://docs.docker.com/compose/startup-order/ ) antes de ejecutar los comandos de Python. Alternativamente, podría usar una política de reinicio en su web servicio (https://docs.docker.com/compose/compose-file/ #restart_policy ) para reiniciar automáticamente su servicio (hasta que la base de datos esté activa).