我使用Docker for Windows和VS Tools for Docker爲我的ASP.NET Core創建了配置Staging
。當我運行配置Staging
時,env.EnvironmentName
不斷變爲Production
而不是Staging
。用於Docker的ASP.NET核心工具Docker EnvironmentName
在文件docker-compose.dev.staging.yml
中,我也設置ASPNETCORE_ENVIRONMENT
爲Staging
。但這也沒有幫助。當然,我需要把它放在其他地方,因爲當我發佈我想要Staging
得到Staging
EnvironmentName
。
environment:
- ASPNETCORE_ENVIRONMENT=Staging
我錯過了什麼?
更新
因此,它看起來像有在Visual Studio Tools for Docker
的錯誤。它不尊重配置設置並抓取文件docker-compose.dev.release.yml
而不是docker-compose.dev.staging.yml
。所以,如果要將環境更改爲staging
,則需要更改該實際文件。所以,在staging
調試時添加以下到您的release
文件:
environment:
- ASPNETCORE_ENVIRONMENT=Staging
和所有將與世界很好。在部署時,您還需要執行此操作,以便主文件docker-compose
。討厭,但你還有什麼要做?
此外,添加映像名稱,如:
image: docker.appcatalyst.com:5000/symptom_checker_pam_cms:staging
然後你會得到部署分期staging
標籤。希望這個錯誤很快就會解決。
更新2
現在,我明白了碼頭工人的工作原理。基本上你需要傳遞docker-compose.yml
文件中的環境變量。因此,在運行staging
環境的服務器上,您可以添加上面提到的內容,然後使用該yaml文件添加docker up
。至於在你自己的機器上,如果你想使用你的stage
設置,你只需要添加/刪除(或註釋掉)環境設置。一種痛苦。希望VS Tools for Docker
修復此行爲用於調試目的。這會使編程更容易一些。
如何添加其他文件,如果選擇'添加'列表爲空。它似乎被鎖定!我有一個'docker-compost.override.yml'文件,但是我想爲'release'添加一個...? – Luke