Não é possível conectar-se ao MongoDB no docker no host do Windows

1

Eu tenho um problema semelhante discutido em Não é possível conectar-se ao MongoDB no docker .

  • Host do Windows
  • Docker Toolbox, então ele está usando o VirtualBox

Eu usei docker run --name mongo2 -p 127.0.0.1:27017:27017 mongo para criar o contêiner do MongoDB.

Quando me conecto ao contêiner ( docker -it mongo2 /bin/bash ), posso me conectar ao Mongo por meio de mongo localhost:27017 .

Eu também verifiquei com netstat que o Mongo está escutando 0.0.0.0:27017 , não apenas localhost.

Ainda assim, não consigo me conectar do host do Windows ao contêiner. Eu até tentei desativar o firewall do Windows e ainda nada:

rs@ausus:~$ telnet localhost 27017
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

Alguma idéia?

    
por Radek Skokan 06.08.2017 / 16:40

1 resposta

0

Como a documentação do Docker diz no link : "Isso significa que não é possível executar um contêiner do MongoDB com o diretório de dados mapeado para o host"

Por fim, fiz um script .bat que define meu IP do Win10 e o mapeio para uma variável. Eu corro MongoDB diretamente no meu Win10 e, em seguida, acesso-o com o IP. Não é isso que eu quero, mas funciona.

startup.bat:

for /f "tokens=1-2 delims=:" %%a in ('ipconfig^|find "IPv4"') do set ip=%%b
set DOCKERHOST=%ip:~1%
docker-compose up

docker-compose.yml:

environment:
     - MONGO_HOST=${DOCKERHOST}
    
por 21.11.2017 / 15:39