【问题标题】:Using Docker to build an image for Node, my Express based Node app, MongoDb, and NodeBB, connected via Passport使用 Docker 为 Node、基于 Express 的 Node 应用程序、MongoDb 和 NodeBB 构建映像,通过 Passport 连接
【发布时间】:2014-04-02 10:05:45
【问题描述】:

我刚刚被介绍给 Docker,这个概念很棒。我找到了用于为 MongoDB 和 Node 构建映像的简单 Dockerfiles,并且想知道,我是否只是将这些映像组合在一起以制作一个包含我的项目的映像,该项目是自定义 Node 应用程序(基于 Express 构建)、NodeBB 的组合由 MongoDB 支持的论坛,都与提供单点登录的 Passport 连接在一起。或者我应该将它们全部设为单独的图像。

一个 Docker 映像能否包含其自己的 VPN 以及在不同 VM 上运行的各种服务?

【问题讨论】:

  • 您可以搜索。但在这里:docs.docker.io/en/latest/use/networking 阅读,尤其是底部的链接
  • @dave-sag 如果您的 docker 文件正常工作,请随时与社区分享! :D
  • @Neil Lunn “你本可以搜索的。”这是一个荒谬的回应。也许他确实搜索过。也许他没有看到那个页面。我搜索并发现了包含您的链接的此页面。这很有帮助。保留“你应该用谷歌搜索”的回答。这个网站的重点是帮助人们回答问题。这个问题的答案并不是一个显而易见的问题,任何人都应该在没有帮助的情况下从互联网上收集信息。

标签: node.js mongodb express docker nodebb


【解决方案1】:

Docker 没有标准化的方式来打包和配置由多个映像组成的应用程序,因此如果您想共享您的应用程序,最好将所有内容都放入一个 Dockerfile 中。话虽如此,如果共享您的应用程序不是一个很大的优先级,则使用多个 Docker 映像可能更容易维护(此外,您将能够使用其他 MongoDB 映像)。然后,您可以使用 Fig (http://orchardup.github.io/fig/) 之类的东西来编排整个应用程序。

对于 Docker 容器之间的通信,Docker 有两个选项:启用跨容器的所有通信(这是默认设置),或者禁用除指定的通信之外的所有通信。您可以通过将标志“--icc=false”传递给 Docker 守护程序来启用第二个选项。之后,您需要明确地“公开”和“链接”容器以便它们进行通信。相关文档可以在here找到。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-04
    • 2017-06-12
    • 1970-01-01
    • 2017-01-05
    • 1970-01-01
    • 2019-02-21
    • 2017-06-19
    相关资源
    最近更新 更多