【问题标题】:How to create a multi container web application in docker如何在 docker 中创建多容器 Web 应用程序
【发布时间】:2015-02-23 05:39:02
【问题描述】:

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

【问题讨论】:

    标签: django postgresql web-applications docker logstash


    【解决方案1】:

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

    documentation 详细介绍了这一点,但这里是重点。

    1. 例如,使用自定义名称 --name db 创建一个容器。
    2. 您需要先创建所有“子”容器,然后再创建它们将链接到的主容器。
    3. 您可以将多个容器链接在一起。
    4. 链接的容器共享一个专用网络,环境变量和/etc/hosts 文件由 docker 自动更新(请务必阅读这部分的文档)。

    在您的场景中 - 您将首先创建您的 logstash、postgres 容器,然后创建您的 Web 容器并将两者链接在一起。链接后,您的 Web 容器将自动知道如何连接到数据库容器。

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

    【讨论】:

    • 当然可以,为什么不呢?它只是一个普通的数据库服务器。
    • 我无法访问postgresql,甚至无法创建数据库。你能分享一下运行postgresql的运行命令吗?
    • 请单独提问。
    猜你喜欢
    • 1970-01-01
    • 2017-04-04
    • 2016-07-14
    • 1970-01-01
    • 2015-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多