Docker项目结构与子模块

我在我的项目中使用微服务。 每个微服务都在它自己的文件夹中,并且是自己的git仓库。

所有服务都在单独的docker容器中。 所以总的项目结构如下所示:

project_root/ microservice1_folder -> Dockerfile, .git, files ... microservice2_folder -> Dockerfile, .git, files ... microservice3_folder -> Dockerfile, .git, files ... docker-compose.yml 

问题是, docker-compose.yml不在任何回购。 没有回购我可以git clone并把所有的服务与docker-compose up -d

有人可能会build议使用子模块,但我看不出将其整合到我的工作stream程中的方法。

使用当前的设置,我将每个微服务文件夹挂载到docker,这样我就可以进行更改,提交等等。

我如何使用子模块?

project_root将需要成为一个git回购。 你会然后使用

 git submodule add {REPO_NAME} {PATH_TO_REPO} 

对于每个子模块,这些子模块又将在project_root创build一个.gitmodules文件。

当你克隆project_root ,你需要调用

 git submodule update --init 

这将拉下你的子模块的来源。