Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Docker MySQL - não é possível conectar do aplicativo Spring Boot ao banco de dados MySQL


Experimente este 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"

E atualize seu application.properties para usar o próximo URL de conexão JDBC:
spring.datasource.url=jdbc:mysql://workaround-mysql:3306/workaround?serverTimezone=UTC&max_allowed_packet=15728640

Deve funcionar quando os dois contêineres estiverem no mesmo arquivo docker-compose, porque o docker-compose cria uma rede padrão para contêineres, para que eles possam resolver um ao outro por nome.