2017-02-24 74 views
3

我使用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_ENVIRONMENTStaging。但這也沒有幫助。當然,我需要把它放在其他地方,因爲當我發佈我想要Staging得到StagingEnvironmentName

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修復此行爲用於調試目的。這會使編程更容易一些。

回答

1

當VS運行搬運工,撰寫命令,它會尋找以下YAML文件依次是:

  1. 泊塢窗,compose.yml
  2. 泊塢窗,compose.override.yml
  3. 泊塢窗 - 撰寫。 vs.debug.yml |泊塢窗 - compose.vs.release.yml(用於調試|分別發佈)

我們不支持用戶自定義YAML文件,如搬運工,compose.dev.staging.yml呢。

ASPNETCORE_ENVIRONMENT已在docker-compose.override.yml中設置,其中是定義在本地計算機上運行應用程序的設置的位置。

environment: 
    - ASPNETCORE_ENVIRONMENT=Development 

您可以在該文件中將Development更改爲Staging。

+0

如何添加其他文件,如果選擇'添加'列表爲空。它似乎被鎖定!我有一個'docker-compost.override.yml'文件,但是我想爲'release'添加一個...? – Luke