Mysql
 sql >> Base de données >  >> RDS >> Mysql

Docker MySQL - impossible de se connecter de l'application Spring Boot à la base de données MySQL

Essayez ceci docker-compose.yml :

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"

Et mettez à jour votre application.properties pour utiliser la prochaine URL de connexion JDBC :

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

Cela devrait fonctionner lorsque les deux conteneurs sont dans le même fichier docker-compose, car docker-compose crée un réseau par défaut pour les conteneurs, afin qu'ils puissent se résoudre par leur nom.