当我看到使用Docker的git项目时,则将docker仅添加到git项目中,该项目包含一个应用程序的源代码。但是如果我想使用docker-compose来组织多个git项目,因为它们可以一起工作(后端,前端等),该怎么办?
现在,我使用来自其他两个git项目的源代码以及一些其他自行创建的Dockerfile-因此,我的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
内部overlay /以及一些新usecase-2.env
文件。
就我自己而言,这是合乎逻辑的,但是我不知道最佳实践是什么-因为我找不到任何类似的项目。
如果要使用git子模块,则需要按服务分组,而不是按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
并且service-2
可以是自己的git repos,您可以将其作为子模块添加到主父存储库“ my-project
”中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句