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

Docker:no se puede conectar Spring Boot y MYSQL

He notado un par de problemas en tu código:

  1. Archivo de composición Docker

    • usando el volumen ./mysql-data:/var/lib/mysql es más probable que encuentre este error

      [ERROR] The designated data directory /var/lib/mysql/ is unusable

      cámbielo a cualquier directorio, por ejemplo, /data/mysql

    • la probabilidad de que contenedor de servicios Java comenzará primero antes del contenedor de base de datos es muy alto. Por lo tanto, es necesario agregar restart-on-failure option o wait-for-it.sh o sleep option .Estas opciones habilitarán contenedor de servicios para esperar contenedor de base de datos para empezar.

          java:
             restart: on-failure
      
  2. Archivo de propiedades.

    El archivo de propiedades del servicio Java apunta a ningún contenedor de existencia ms

    cámbialo a

    spring.datasource.url=jdbc:mysql://db:3306/fruitshop?serverTimezone=UTC

    en lugar de

    spring.datasource.url=jdbc:mysql://ms:3306/fruitshop?serverTimezone=UTC

después de ejecutar los cambios anteriores

docker-compose up --build

Solicitud de extracción de Github