如何在Docker中创build多容器Web应用程序

我已经在django / postgresql中创build了一个web应用程序。 我需要在docker中进一步增强django,postgres和logstash在不同的容器中。 如何在Docker中创build这样的应用程序? 我怎样才能从networking浏览器访问它?

您需要将您的docker集装箱连接在一起。 这会在networking上未公开的容器之间创build专用连接。 容器会自动“认识”对方。

文档详细地通过这个,但这里是关键点。

  1. 例如,创build一个具有自定义名称 – 名称--name db的容器。
  2. 您需要首先创build所有“子”容器,然后才能创build将要链接的主容器。
  3. 您可以将多个容器链接在一起。
  4. 链接的容器共享一个专用networking,环境variables和/etc/hosts文件由docker自动更新(请确保您阅读了这部分的文档)。

在你的场景中 – 你会先创build你的logstash,postgres容器,然后创build你的web容器并把它们连接在一起。 一旦链接,您的Web容器将自动知道如何连接到数据库容器。

就networking访问而言,由于链接的容器之间有一个专用networking,因此您可以select要访问networking的容器以及如何访问网站。 所以通常应用程序/ Web容器将有两个networking接口 – 一个是公共networking接口,另一个是与其他容器链接的专用networking。