簡體   English   中英

帶有git子模塊的Docker項目結構

[英]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子模塊 ,則需要按服務而不是envsrc進行分組:

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-1service-2可以是它們自己的git repos,可以將其添加為主父存儲庫“ my-project ”中的子模塊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM