Mysql
 sql >> Database >  >> RDS >> Mysql

Docker:impossibile connettere Spring Boot e MySQL

Ho notato un paio di problemi sul tuo codice:

  1. File di composizione Docker

    • utilizzando il volume ./mysql-data:/var/lib/mysql è più probabile che incontri questo errore

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

      cambialo in qualsiasi directory, ad esempio /data/mysql

    • la probabilità che contenitore di servizi Java inizierà prima del contenitore di database è molto alto. Quindi è necessario aggiungere restart-on-failure option o wait-for-it.sh o sleep option .Queste opzioni abiliteranno il contenitore di servizi attendere il contenitore di database per iniziare.

          java:
             restart: on-failure
      
  2. File delle proprietà.

    Il file delle proprietà del servizio Java punta a nessun contenitore di esistenza ms

    cambialo in

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

    invece di

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

dopo l'esecuzione delle modifiche precedenti

docker-compose up --build

Richiesta pull di Github