Docker容器与外部数据库进行通信

我正在研究一个应用程序将其移到Docker。 该应用程序有一个反向代理nginx坐在前面,将呼叫指向前端应用程序。 然后将前端应用程序链接到后端Java应用程序。 最后有一个mongo分贝。 我不想将mongo db移动到容器,所以希望我的应用程序直接与mongo db通信。 我使用docker-compose把我的容器变成了生命。 我的问题是如何使我的容器与使用docker-compose的mongo db进行通信。 我已经search了,并find了下面的链接,并且计划添加到Docker中。 但是我找不到一个可靠的例子。 我是一个新的docker,所以任何帮助将不胜感激。 https://github.com/docker/compose/issues/1110

首先,最好的做法是将任何持续的数据留在图像之外,所以你做出了一个很好的决定;)。
因此,要连接到主机上的数据库,请按照下列步骤操作:

  1. 首先,您必须在Dockernetworking中find主机的IP地址。 你可以通过在控制台中inputip a来实现,如果你正在运行一些Linux发行版,或者ipconfig /all如果你正在运行Windows。 您可以看到docker0 bridge适配器旁边的IP地址(如果您使用的是默认适配器,它应该是docker0并且该行应该以inet开头)。
  2. 然后确保数据库用户没有任何限制用于通过外部networking进行连接。
  3. 当您拥有主机(IP地址),数据库,数据库用户和数据库密码时,只需将其放入应用程序的数据库configuration即可。

这应该做的工作。