sql >> Database >  >> RDS >> Mysql

Spring Boot kan geen verbinding maken met MySQLand-uitgangen in Docker/Docker compose

Je passeert de DATABASE_HOST , DATABASE_PORT , DATABASE_NAME , DATABASE_USER en DATABASE_PASSWORD maar je gebruikt het niet in je app.

Werk uw eigendommen op deze manier bij. (Beter als je een profiel maakt zodat je app buiten de docker draait)

spring.datasource.url=jdbc:mysql://${DATABASE_HOST}:${DATABASE_PORT}/${DATABASE_NAME}?autoReconnect=true
spring.datasource.username=${DATABASE_USER}
spring.datasource.password=${DATABASE_PASSWORD}

Als je echt localhost wilt gebruiken als uw db_url . U kunt ook network_mode: "service:[service name]" . gebruiken eigendom van docker compos. Enige nadeel is dat deze eigenschap niet kan worden gebruikt met port eigendom.

version: '3'

services: 
  docker-mysql:
    image: mysql:latest
    network_mode: "service:spring-boot-jpa-docker-webapp"
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=test
      - MYSQL_PASSWORD=root
  spring-boot-jpa-docker-webapp:
    image: springboot_docker
    depends_on:
      - docker-mysql
    ports:
      - 8080:8080
      - 3306 #Add this only if you want to expose the mysql to outer world.
    environment:
      - DATABASE_USER=root
      - DATABASE_PASSWORD=root
      - DATABASE_NAME=test

En uw eigenschappenbestand zou eruit kunnen zien als

spring.datasource.url=jdbc:mysql://localhost:3306/${DATABASE_NAME}?autoReconnect=true
spring.datasource.username=${DATABASE_USER}
spring.datasource.password=${DATABASE_PASSWORD}


  1. Django migreren:maakt geen tabellen

  2. Kan geen verbinding maken met MySQL via PHP-script bij gebruik van mysqli of PDO MAAR mysql werkt

  3. is er een limiet voor de bestandsgrootte bij het maken van een csv-bestand met php en mysql?

  4. 2PL, rigoureus versus strikt model, is er enig voordeel?