Conectando-se ao Bi-conector do Mongodb remotamente no docker

1

Instalei recentemente o bi-conector mongodb para usar o Tableau para visualizar meus dados Instalei-o com sucesso em um contêiner do Docker usando uma imagem do Debian. O conector acessa com sucesso minha instância mongo remota e gerou o esquema adequado.

Eu tentei me conectar ao meu contêiner e instalei um cliente mysql para verificar se o conector estava funcionando, tudo bem: resultado

Mas quando eu saio do contêiner e tento da minha máquina host, aqui está o que eu recebo (mapeei a porta do contêiner 3307 para a porta do host 9015)

$ mysql --host localhost --protocol tcp --port 9015 ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 2

Eu tentei com uma versão diferente do cliente mysql, tentei mapear portas diferentes, tentei 127.0.0.1 em vez de localhost, nada funciona.

Então eu queria saber, o conector tem que estar na mesma máquina que o cliente mysql ou tableau?

    
por Sanduckhan 06.03.2017 / 02:11

1 resposta

1

Tudo bem, encontrei o problema. Agora funciona como um encanto!

Acontece que, quando em um contêiner, o executável mongodrdl precisa da opção --addr a ser definida com o nome do host do contêiner como o nome do contêiner (não funciona com localhost ou 127.0.0.1) Assim:

/usr/local/bin/mongosqld --addr mongo-bi-connector:3307 --schema schema.drdl --mongo-uri $MONGO_URI

Publiquei minhas fontes no github e uma imagem do docker no hub do docker.

link link

Também adicionei suporte de autenticação

Lembre-se de que isso inclui conteúdo licenciado e exige uma licença corporativa do Mongodb.

De nada!

    
por 06.03.2017 / 21:33