Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Conectar banco MySQL remoto

Olá,

Estou a usar Docker para a instancia do MySQL e localmente consegui rodar com sucesso uma aplicação com Spring. Porém o desafio está em fazer a mesma aplicação usar um container hospedado (temporariamente) no Docker labs.

Ao criar uma instancia padrão do MySQL e iniciar com o comando docker run -it --name mysqldb -e MYSQL_DATABASE=mysqldb -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql foi gerado a url http://ip172-18-0-5-bb8ll4bvqk5g00bno4ig-3306.direct.labs.play-with-docker.com/.

Porém ao configurar no workbench com host ip172-18-0-5-bb8ll4bvqk5g00bno4ig-3306.direct.labs.play-with-docker.comporta 80 ou 3306 não obtive sucesso na conexão.

No console consta que estou usando o usuário root@192.168.0.48 e o IPAddress do container é 172.17.0.2.

É possível este tipo de conectividade?

2 respostas

Oi Renan!

Tenho alguns palpites e testes que seria interessante você fazer...

Vamos lá

  1. acredito que o container da aplicação que está na sua máquina não está conseguindo acessar a máquina externa
  2. o container que está rodando no dockerlabs pode estar bloqueando requisições de fora, já que estão em redes diferentes. Não é algo fácil de configurar.

Testes que você pode fazer...

Um teste inicial é rodar um comando para entrar na linha de comando do seu container que já está rodando.

Por exemplo:

docker exec -ti nome-do-container-em-execucao bash

se quiser subir um container novo pra testar use:

docker run -ti nome-do-container-em-execucao bash

Depois disso teste fazer o comando:

telnet ip172-18-0-5-bb8ll4bvqk5g00bno4ig-3306.direct.labs.play-with-docker.com 3306

Esse comando verifica se a porta do mysql está aberta para o container que está tentando acessar. Se der erro não vai responder nada. E aí você sabe se o problema está do lado da sua aplicação.

O docker labs deve ter alguma documentação para acesso á portas específicas, se precisa configurar, seria legal dar uma olhada nisso.

solução!

Olá Luan,

Verifiquei que não é possível direto no GitHub do desenvolvedor:

PWD doesn't forward TCP traffic. You have to use something like adminer to access

Vou investigar mais um pouco e complemento a resposta.

Abraços!