Docker项目结构与git子模块

时间:2016-09-07 07:31:19

标签: git docker docker-compose

当我看到使用Docker的git项目时,就会将docker添加到包含源代码一个应用程序的git项目中。 但是,如果我想使用docker-compose来编排我的git-projects中的多个项目,因为它们一起工作(后端,前端,......)会怎样?

现在,我使用其他两个git项目的源代码和一些自创的Dockerfiles - 所以我的compose-file现在有7个服务(也是一些来自docker hub的公共服务)。 我还需要为不同的用例创建稍微不同的.yml文件(只是使用不同的环境变量)。 有没有最佳实践如何构建这样的项目?

我的项目如下:

my-project/
|__ env/
|   |__ service-1/
|   |   |__ default.env
|   |   |__ usecase-1.env
|   |__ service-2/
|       |__ default.env
|       |__ usecase-1.env
|__ override/
|   |__ usecase-1.yml
|__ src/
|   |__ service-1/
|   |   |__ service-1/ (git submodule)
|   |   |__ Dockerfile
|   |__ service-2/
|       |__ Dockerfile
|__docker-compose.yml # default .yml, containing service-1 and service-2

因此,如果有新的用例,我会在我的env /文件夹中创建一个新的usecase-2.yml内部覆盖/以及一些新的usecase-2.env文件。

对我来说这是合乎逻辑的,但我想知道什么是最佳做法 - 因为我没有找到任何类似的项目。

1 个答案:

答案 0 :(得分:3)

如果您想使用 git submodules ,则需要按服务分组,而不是- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { if (tabBarController.selected == 0) { // do what you need env

src

这样,my-project/ |__ service-1/ | |__ env/ | |__ src/ | |__ Dockerfile |__ override/ | |__ usecase-1.yml |__ service-2/ | |__ env/ | |__ src/ | |__ Dockerfile |__docker-compose.yml # default .yml, containing service-1 and service-2 service-1可以是他们自己的git回购,您可以在主要父回购中添加子模块&#39; service-2&#39;。< / p>