Docker容器与外部数据库通信

时间:2017-01-31 09:53:30

标签: docker docker-compose

我正在开发一个将它移动到Docker的应用程序。该应用程序有一个位于前端的反向代理nginx,用于将调用定向到前端应用程序。然后将前端应用程序链接到后端Java应用程序。最后有一个mongo db。我不想将mongo db移动到容器中,因此希望我的应用程序直接与mongo db通信。我使用docker-compose将我的容器变为现实。我的问题是如何使用docker-compose使我的容器与mongo db进行通信。我搜索了一下,发现了以下链接,并且计划将其添加到Docker。但是,我无法找到一个可靠的例子。我是码头工人的新手,所以任何帮助都将受到高度赞赏。 https://github.com/docker/compose/issues/1110

1 个答案:

答案 0 :(得分:1)

首先,最好将任何持久性数据留在图像之外,这样你就可以做出明智的决定;)。
因此,要连接到主机上的数据库,请执行以下步骤:

  1. 首先,您必须在docker网络中找到主机的IP地址。如果您运行的是某些Linux发行版,则可以通过在控制台中键入ip a来执行此操作,如果您运行的是Windows,则可以ipconfig /all。您可以看到docker bridge适配器旁边的IP地址(如果您使用的是默认适配器,它应该是docker0,行应该以{{1​​}}开头。)
  2. 然后确保数据库用户没有限制用于通过外部网络进行连接。
  3. 当您拥有主机(IP地址),数据库,数据库用户和数据库密码时,只需将它们放入应用程序的数据库配置中即可。
  4. 那应该做的。

相关问题