node.js - 我应该如何组合docker容器?

标签 node.js docker continuous-integration rabbitmq dockerhub

我正在构建一个由 3 个不同部分组成的网络应用程序

  1. Node.js API
  2. 前端网络客户端,使用 API
  3. 用于数据处理的 Node.js 服务

我需要 2 个 Node.js 服务进行通信,因此我使用rabbitMQ。我希望一切都能够进行 Docker 化,因为它使加入和部署变得容易。但是,我不确定如何构建文件?

所有 3 个项目都应该位于单独的 github 存储库中,以便您可以单独开发它们,并用于一般组织。一个巨大的 repo 协议(protocol)将是一场噩梦。

那么我如何在运行时组合它们呢?它们应该各自放在自己的容器中吗?我如何将它们整合在一起?

它们都应该放在一个巨大的文件夹中吗?

  • 应用程序
    • Node 1
      • dockerfile
    • Node 2
      • dockerfile
    • docker-compose.yml

最佳答案

Should they each be in their own container?

是的,您在 docker-compose.yml similar to this one 中声明它们,但我建议使用 version 2 of that docker-compose.yml format (假设 Compose 1.6.0+ 和 Docker 引擎版本 1.10.0+)。

这允许命名卷和 network .

正如OP在评论中添加的那样:

The part I was missing was to upload my separate repos to dockerhub

如果每个存储库代表一个 docker 镜像,则该镜像一旦构建,就必须上传到 docker hub。

关于node.js - 我应该如何组合docker容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36658452/

相关文章:

node.js - pdfmake - fs.readFileSync 不是函数错误

windows - 如何将 IntelliJ Docker 集成连接到 Docker 桌面(适用于 Windows 10)

linux - Docker:Linux上的 "reset to factory defaults"在哪里?

docker - yarn 安装不变违规 : should have a resolved reference

javascript - 需要 rnpm 链接的 React Native 组件依赖

node.js - Nodejs 和 MongoDB : Unable to return value from a function

node.js - 将 UTF-8 csv 文件转换为 Excel 可读的 csv

docker - 如何在 Jenkinsfile 中使用 docker image 内部环境变量?

build - TFS 2013 版本是否支持 VS 2012 解决方案?

Jenkins 提升构建参数值