带有git子模块的Docker项目结构

蒙奇金

当我看到使用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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

带有子模块的项目的git config代理

如何有选择地更新git子模块层次结构?

TypeScript建议的带有模块的项目结构

Git项目子模块的组织

带有子模块的Git回购不跟踪本地更改?

带有git子模块的多个ssh密钥

现有Gradle项目中的Git子模块

带有延迟加载子模块的Angular 2项目在首次尝试编译时未解析子模块

项目根目录中的 Git 状态显示子模块更改,但在子模块中,没有可用

带有子模块的木偶运行阶段

模拟带有ReadTheDocs子模块

带有子模块导入的名称空间

带有子模块的 Angular 4 路由

带有配置“ recurse = true”的git pull不会更新所有子模块

VisualStudio 2013/2015:带有子模块的Git Microsoft错误(编辑图标消失)

克隆包含带有本地分支的子模块的本地Git存储库

工作流程:git-repository带有要发布的子模块

如何git标记所有子模块?

克隆所有子模块的git repo

没有 .gitmodules 文件的 git 子模块?

如何使用Git推送带有模块的Maven项目?

可靠的命令集,可在带有和不带有子模块的git分支之间进行切换

如何打包带有可选子模块的节点模块?

如何管理 GIT 子模块/树的文件结构?

使用带有grunt-git和grunt-githooks的子模块的后提交钩子来提交Git“ Supermodule”

Docker:在Git中构建上下文并使用.NET项目和子模块会引起很大的问题

是否可以从父项目中修补Git中的子模块?

sbt:如何依赖git项目的子模块

从GitHub克隆项目后提取git子模块