sql >> Base de Datos >  >> RDS >> Mysql

Docker MySQL:no se puede conectar desde la aplicación Spring Boot a la base de datos MySQL

Prueba 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"

Y actualice su application.properties para usar la siguiente URL de conexión JDBC:

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

Debería funcionar cuando ambos contenedores están en el mismo archivo docker-compose, porque docker-compose crea una red predeterminada para los contenedores, de modo que puedan resolverse entre sí por nombre.