我正在尝试设置一个由Docker编排的几个微服务构建的项目。这是我项目的简化模式:
- Main-project
- Dockerfile
- docker-compose.yml (bundles Microservice1 and Microservice2)
- Microservice1
- Dockerfile
- Microservice2
- Dockerfile
现在,每个组件都有许多依赖项,例如由docker-compose.yml文件管理的RabbitMQ。我设法通过使用compose文件使整个项目在Docker上运行。
但是,我自己运行各个组件时遇到了问题。问题是Microservice1依赖于rabbitMQ,但它没有一个compose文件来管理这种依赖关系,所有其他组件也是如此。因此,当我尝试单独运行任何单个组件时(对于单元测试,对于实例),我遇到了缺少依赖项的问题。
我是否应该在每个组件的Dockerfile上添加所有依赖项? 我应该为每个组件安装一个docker-compose文件吗? 设置这样的系统的最佳做法是什么?
非常感谢!
更新
作为一个重要的说明,我忘了提到每个微服务都有自己的回购。