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

Docker MySQL - Verbindung von der Spring Boot-App zur MySQL-Datenbank nicht möglich

Probieren Sie diese docker-compose.yml aus :

version: '3'
services:
  workaround-mysql:
    container_name: workaround-mysql
    image: mysql
    environment:
      MYSQL_DATABASE: workaround
      MYSQL_USER: springuser
      MYSQL_PASSWORD: admin
      MYSQL_ROOT_PASSWORD: admin
      MYSQL_ROOT_HOST: '%'
    ports:
      - "3308:3306"
    restart: always
  workaround:
    depends_on: 
      - workaround-mysql
    restart: always
    # will build ./docker/workaround/Dockerfile
    build: ./docker/workaround
    working_dir: /workaround
    volumes:
      - ./:/workaround
      - ~/.m2:/root/.m2
    expose:
      - "8080"
    command: "mvn clean spring-boot:run"

Und aktualisieren Sie Ihre application.properties um die nächste JDBC-Verbindungs-URL zu verwenden:

spring.datasource.url=jdbc:mysql://workaround-mysql:3306/workaround?serverTimezone=UTC&max_allowed_packet=15728640

Es sollte funktionieren, wenn sich beide Container in derselben Docker-Compose-Datei befinden, da Docker-Compose ein Standardnetzwerk für Container erstellt, sodass sie sich gegenseitig nach Namen auflösen können.