我了解到最好將環境變數值保留在源代碼管理之外。這顯然是默認完成的,但是在使用dot-env時,他們強烈建議不要簽入 .env 檔案。
但是,我需要為我的應用程式提供一個 docker 檔案,以便我可以構建和部署它。我還決定不在我的 dockerfile 中使用ENV指令,因為我將該檔案簽入到我的存盤庫中。
但是,如果我的機器上沒有環境變數,我該如何測驗我的 docker 鏡像呢?我需要:
- 將我機器上的環境變數設定為具有生產環境值
- 如果我必須繼續設定它們并恢復它們,那將非常煩人
- 將它們存盤在 docker 檔案中
- 這意味著我會在我的源代碼管理中檢查它
我的問題是:如果將環境變數檢入到我的存盤庫中,我應該將環境變數存盤在我的 dockerfile 中嗎?
uj5u.com熱心網友回復:
如果將環境變數簽入到我的存盤庫中,我應該將環境變數存盤在我的 dockerfile 中嗎?
您不應該:您的 Dockerfile 需要的任何值(您可以從外部參考獲得的值,例如 Git 存盤庫)都可以作為ARG.
然后,您可以docker build使用您的影像:
docker build --build-arg arg1=arg1Value .
在您的 Dockerfile 中,您將擁有(組合ARG和ENV):
ARG arg1
ENV myvar=${arg1}
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/488208.html
標籤:混帐 版本控制 dockerfile 环境变量 dotenv
下一篇:將GitHub鏡像到Gitlab
