Conecte-se ao host mongodb a partir do contêiner do docker

Então, eu quero conectar ao meu mongodb em execução na minha máquina host (droplet DO, Ubuntu 16.04). Está sendo executado no padrão27017 porta no host local.

Então eu usomup implantar meu aplicativo Meteor no meu droplet DO, que está usando o docker para executar meu aplicativo Meteor dentro de um contêiner. Por enquanto, tudo bem. Uma normamongodb://... URL de conexão é usado para conectar o aplicativo ao mongodb. Agora eu tenho o seguinte problema:

mongodb://...@localhost:27017... obviamente não funciona dentro do contêiner do docker, poislocalhost não é o host local do host.

Eu já li muitas postagens de stackoverflow sobre isso, já tentei usar:

--network="host" - não funcionou como dizia0.0.0.0:80 já está em uso ou algo parecido (proxy nginx)--add-host="local:<MY-DROPLET-INTERNET-IP>" e conectar viamongodb://...@local:27017...: também não está funcionando, pois eu posso acessar meu mongodb somente a partir do host local, não do IP público

Isso tem que ser um problema comum!

tl; dr - Qual é a maneira correta de expor os hostslocalhost dentro de um contêiner de docker para que eu possa conectar-me a serviços em execução no host? (incluindo suas portas, por exemplo, 27017).

Espero que alguém possa ajudar!

questionAnswers(2)

yourAnswerToTheQuestion