Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Docker:Spring Boot &MYSQL kann nicht verbunden werden

Mir sind einige Probleme in Ihrem Code aufgefallen:

  1. Docker-Compose-Datei

    • Verwenden Sie das Volume ./mysql-data:/var/lib/mysql Es ist wahrscheinlicher, dass dieser Fehler auftritt

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

      Ändern Sie es in ein beliebiges Verzeichnis, z. B. /data/mysql

    • die Wahrscheinlichkeit, dass Java Service Container wird zuerst vor Datenbankcontainer gestartet ist sehr hoch. Daher muss die restart-on-failure option hinzugefügt werden oder wait-for-it.sh oder sleep option .Diese Optionen aktivieren den Dienstcontainer auf Datenbankcontainer warten zu starten.

          java:
             restart: on-failure
      
  2. Eigenschaftendatei.

    Die Eigenschaftsdatei des Java-Dienstes zeigt auf den nicht vorhandenen Container ms

    ändern Sie es in

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

    statt

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

nachdem die obigen Änderungen ausgeführt wurden

docker-compose up --build

Github-Pull-Request