如何在docker中创建多容器Web应用程序

时间:2015-02-23 05:39:02

标签: django postgresql web-applications docker logstash

我已经在django / postgresql中创建了一个Web应用程序。我需要在docker中进一步增强django,postgres和logstash在单独的容器中。如何在docker中创建这样的应用程序?如何从网络浏览器访问它?

1 个答案:

答案 0 :(得分:1)

您需要将docker容器链接在一起。这将在未在网络上公开的容器之间创建专用连接。容器会自动“了解”彼此。

documentation详细介绍了这一点,但以下是关键点。

  1. 例如,创建一个自定义名称为--name db的容器。
  2. 在创建要链接到的主容器之前,您需要先创建所有“子”容器。
  3. 您可以将多个容器链接在一起。
  4. 链接容器共享一个专用网络,并且docker会自动更新环境变量和/etc/hosts文件(请务必阅读本部分的文档)。
  5. 在您的场景中 - 您将首先创建logstash,postgres容器,然后创建Web容器并将两者链接在一起。链接后,您的Web容器将自动知道如何连接到数据库容器。

    就Web访问而言,由于链接容器之间存在专用网络,您可以选择要访问Web的容器以及方式。因此,通常应用程序/ Web容器将具有两个网络接口 - 一个是公共接口,另一个是链接到其他容器的专用网络。