如何在Docker中创建多容器Web应用程序
问题描述:
我已经在django/postgresql中创建了一个Web应用程序。我需要在docker中进一步增强django,postgres和logstash在不同的容器中。我如何在Docker中创建这样的应用程序?我怎样才能从网络浏览器访问它?如何在Docker中创建多容器Web应用程序
答
您需要将码头集装箱连接在一起。这会在网络上未公开的容器之间创建专用连接。容器会自动“认识”对方。
documentation经过这个详细的,但这里是关键点。
- 例如,创建一个自定义名称为
--name db
的容器。 - 您需要先创建所有“子”容器,然后才能创建将要链接到的主容器。
- 您可以将多个容器链接在一起。
- 链接的容器共享一个专用网络,环境变量和
/etc/hosts
文件由docker自动更新(请确保您阅读了这部分的文档)。
在您的场景中 - 您将首先创建logstash,postgres容器,然后创建您的Web容器并将两者连接在一起。链接后,您的Web容器将自动知道如何连接到数据库容器。
就网络访问而言,由于在链接的容器之间有一个专用网络 - 您可以选择要访问网络的容器以及如何访问该容器。因此,通常应用程序/ Web容器将具有两个网络接口 - 一个是公共网络接口,另一个是连接到其他容器的专用网络。
如何管理postgresql。即我可以查看数据库中的数据 – pheonix 2015-02-23 07:01:34
是的,当然,为什么不呢?它只是一个普通的数据库服务器 – 2015-02-23 07:07:36
我无法访问postgresql,甚至无法创建数据库。你可以请分享运行命令来运行postgresql。 – pheonix 2015-02-23 10:15:53