我应该如何组合 docker 个容器?

How should I combine docker containers?

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

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

我需要 2 个 node.js 服务进行通信,所以我使用的是 rabbitMQ。我希望一切都 docker 化,因为它使入职和部署变得容易。但是,我不确定如何构建文件?

所有 3 项都应该在 单独的 github 存储库 中,这样您就可以单独开发它们,也可以为一般组织开发它们。一个巨大的回购将是一场噩梦。

但是我该如何在运行时将它们组合起来呢?他们每个人都应该在自己的容器中吗?如何将它们组合在一起?

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

Should they each be in their own container?

是的,您在 docker-compose.yml similar to this one, except I would recommend using the 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

如果每个 repo 代表一个 docker 图像,则该图像一旦构建,确实必须上传到 docker 中心。