8
respostas

erro ao rodar o docker run....

Caused by: java.sql.SQLNonTransientConnectionException: Socket fail to connect to host:localhost, port:3308. Connection refused (Connection refused) at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:73) ~[mariadb-java-client-2.7.4.jar!/:na] at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:188) ~[mariadb-java-client-2.7.4.jar!/:na] at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.createSocket(AbstractConnectProtocol.java:257) ~[mariadb-java-client-2.7.4.jar!/:na] at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.createConnection(AbstractConnectProtocol.java:521) ~[mariadb-java-client-2.7.4.jar!/:na] at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1389) ~[mariadb-java-client-2.7.4.jar!/:na] ... 57 common frames omitted Caused by: java.net.ConnectException: Connection refused (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_212] at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_212] at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_212] at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_212] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_212] at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_212] at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.createSocket(AbstractConnectProtocol.java:252) ~[mariadb-java-client-2.7.4.jar!/:na] ... 59 common frames omitted

8 respostas

Oi Pedro,

O erro: Socket fail to connect to host:localhost, port:3308.

Verifica se o MySQL está rodando nessa porta 3308 mesmo.

Bom dia Rodrigo, na vdd já instalei um monte se servidor para banco de dados, e quando fui instalar o mysql, ele não aceitava a porta 3306, daí tive que mudar para a porta 3307, e depois quando fui instalar o HeidiSql, não aceitou a porta 3307 e tive que rodar na porta 3308. O app que consegui fazer graça ao curso de vcs, está rodando perfeitamente com mariadb no heidiSql, na porta 3308 localmente, mas estou com muita dificuldade em subir esse app para poder enviar por curriculo e etc. Primeiramente queria fazer isso sem login e senha, pq a própria app não necessita disso, mas eu conseguindo subir ela assim para poder enviar como portifolio, seria muito bom inicialmente. Já tentei pelo heroku, mas tive que dar uns passos para trás e fui ver o curso de docker que esclareceu muita coisa, inclusive estou com ele instalado e rodando normalmente, fiz os testes que o professor ensinou e tal, mas agora apareceu esse problema. Tentei mudar a porta do mysql, não consegui, mesmo desisntalando e instalando de novo, e nem no heidi, o que posso fazer, será esse o problema, ou não estou configurando corretamente o mariadb no docker? Obrigado pela atenção!

Pode ser algum problema de configuração então. Posta aqui o seu Dockerfile ou docker-compose.yml, caso esteja utilizando o docker compose

O meu heidiSQL está na porta 3308

FROM openjdk:8-jdk-alpine
RUN addgroup -S spring &&adduser -S spring -G spring
USER spring:spring
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

O Dockerfile está certinho e apenas configura a imagem mesmo. Posta aqui o seu arquivo application.properties


server.port:8080
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/boardgamesbusca



spring.datasource.username=root
spring.datasource.password=pedroaz

spring.datasource.testeWhileIdLe=true
spring.datasource.validationQuery=SELECT 1
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.jpa.show-sql=false
spring.jpa.hibernate.naming-strategy=org.hibernate.cfg.ImproveNamingStrategy
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MariaDBDialect

spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.show_sql=true
#spring.jpa.show-sql: true

`

Pelas configurações da sua aplicação ela vai se conectar com o MariaDB na porta 3306.

Dá uma verificada nisso, pois deve ter alguma configuração em algum lugar que está apontando para a porta 3308

eu estava fazendo uns testes aqui, mas desconsidere a porta 3306, estou usando a 3308.

Quando estava tentando fazer pelo heroku através do github, ele fazia o deploy - gerava aquela frase - BUILD SUCESS, daí quando eu ia vizualizar a pagina, ela está lá com o header tudo certinho, e até conseguia acessar a página de formaulario para cadatro, porém além de não cadastrar também não aparecia nenhum dos dados cadastrados no banco.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software