node.js - 在单存储库中对多个微服务进行 Dockerizing
问题描述
我想对使用多个微服务的 REST Api 进行 dockerize。大多数教程只涵盖非常简单的案例,所以我对如何正确 dockerize 这样的项目有点困惑。
我的项目结构:
- 节点模块
- 源代码
- 请求管理器
- 请求工作者
- 休息API
- 共享
- 测试
- 包.json
- tsconfig.json
所以它有三个微服务(request-worker、request-manager 和 rest-api)。
我的问题:
每个微服务都需要一个 .dockerignore 和 Dockerfile 吗?或者如何正确地对这样一个单一存储库项目进行 docker 化?
解决方案
您可以为每个微服务创建一个 Dockerfile,但由于它们共享多个文件(尤其是 node_modules),因此可能会出现一些冲突和问题。
我建议为每个服务使用一个(子)存储库:
- 请求管理器
- Dockerfile
- 源代码
- 节点模块
- 测试
- 包.json
- tsconfig.json
- 请求工作者
- Dockerfile
- 源代码
- 节点模块
- ...
- 休息API
- ...
- 共享
并且要非常小心你放在shared
文件夹中的内容。
您还可以使用 docker-compose 来管理依赖项。
推荐阅读
- encryption - 如何混淆 INT64?
- pyspark - PySpark 按顺序连接两列
- java - 如何阅读许多多项式以及如何打印具有共同根和根的多项式?
- java - 不小心在文件夹中输入了 c_rehash cmd
- sql - 使用 CONCAT 的慢查询
- node.js - 无法读取未定义的反应属性“表情符号”-即使做出反应但无法收集
- spring-batch - 为 MultiResourceItemReader 编辑批处理
- r - r 编程 - 从维基百科抓取印度所有城镇的列表.. Wikipedi R 包
- elasticsearch - Grok 在调试器中成功并通过 input{stdin. 但无法输出到elasticsearch
- pytorch - NLLLoss 爆炸的原因