Estou com um container mysql que consigo acessar normalmente pela minha aplicação springboot localmente (sem container). Mas quando tento criar um container dessa aplicação springboot para assim acessar esse container mysql, eu recebo um erro de conexão com o banco do container.
Erro ao tentar rodar container com app spring boot:
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) ~[mysql-connector-java-8.0.30.jar!/:8.0.30] at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) ~[mysql-connector-java-8.0.30.jar!/:8.0.30]
... at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na] at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) ~[app.jar:0.0.1-SNAPSHOT] at org.springframework.boot.loader.Launcher.launch(Launcher.java:108) ~[app.jar:0.0.1-SNAPSHOT] at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) ~[app.jar:0.0.1-SNAPSHOT] at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65) ~[app.jar:0.0.1-SNAPSHOT] Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure
Os comandos utilizados para rodar os containers sao:
docker run --name bd_microservices -p 3306:3306 -e MYSQL_ROOT_PASSWORD=MINHA_SENHA -e MYSQL_DATABASE='alurafood-pedidos' -e MYSQL_USER='microservices' -e MYSQL_PASSWORD='microservices2022' --network minha-bridge -d mysql:8.0
docker build -t exemplo . docker run --name app_exemplo -p 8080:8080 --network minha-bridge -d exemplo:latest
Dockerfile da aplicacao spring FROM openjdk:17-alpine ARG JAR_FILE=target/*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"]
Como resolvo essa questao? Seria problema na hora da criacao dos containers ou da minha imagem?