Docker 容器中的 ASP.NET Core 修改 appsettings.json 設定值

在 ASP.NET Core 專案中,假設 appsettings.json 設定檔如下:
    
{
  "Email": {
    "Address": "",
    "Password": ""
  }
}
    

平時可以很方便的修改設定檔中的資訊,但是如果是 docker 容器呢?需要進去容器中替換/編輯設定檔案嗎?

其實我們可以透過注入環境變數的方式來修改/調整設定值。
假設 docker 容器在啟動時要將 Address 設定為 a@ruyut.com ,將 Password 設定為 123 ,可以使用 -e 來附加參數:
    
docker run -d -p 8080:8080 -e Email:Address=a@ruyut.com -e Email:Password=123 my_image
    

這樣容器啟動後就會使用上面的參數來執行了,使用這樣方式指定的設定值內容優先度會高於 appsettings.json 檔案裡面的設定值。

留言