[英]Docker project structure with git submodules
當我看到使用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
因此,如果有一個新的用例,我將在override /中創建一個新usecase-2.yml
並在env /文件夾中創建一些新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
”中的子模塊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.