如何使用docker构build多租户应用程序

我对docker概念非常陌生,并且知道它的基本知识。 我只是想知道如何使用docker构build多租户应用程序。 哪里的容器将使用本地托pipe的数据库与不同的架构。与nginx我们可以做反向代理,但我们如何能够实现它? 因为每个容器都将被localhost:8080访问,我们如何添加上游和服务器部分。 如果有人向我解释,这将是非常有帮助的。

如果我理解正确,您希望容器中的进程连接到主机上的资源。

从网桥模式的容器透视图(默认),主机的IP是网关。 不幸的网关IP地址可能会有所不同,只能在运行时确定。

这里有几个方法来获得它:

  • 从使用docker的主机检查: docker inspect <container name or ID> 。 网关将在NetworkSettings.Networks.Gateway下可用。
  • 从容器中可以执行route | awk '/^default/ { print $2 }' route | awk '/^default/ { print $2 }'

另外一种可能是运行你的容器时使用--net=host 。 这将在您的主机上运行与您的进程相同的networking上的进程。 这样做将使您的数据库可以从localhost上的容器访问。

请注意,使用--net=host将无法在Mac / Windows的Docker上工作。