背景:為了減少依賴,在微服務編寫時,將配置項(比如數據庫連接串)放在本地配置文件中appsettings.json,
這樣發布在iis上可以通過修改服務器上的配置文件實現部署,但是現在公司都是用docker部署,那么如何覆蓋鏡像里面的配置文件呢?
說明:服務代碼是netcore2.1 部署在docker服務器中
實現:
通過查找docker run命令:支持掛載存儲卷 -v參數實現
比如我在本地電腦上D盤下myapp文件下放進去我需要更新的配置文件appsettings.json,覆蓋鏡像里面app下的appsettings.json
我可以這樣寫:
docker run -d -it --name myapp -e ASPNETCORE_ENVIRONMENT=FAT -e SIMPLIFIED_DEPLOYMENT=true -p 80:80 -v D:/myapp/appsettings.json:/app/appsettings.json myapp-fat:v1.0.0
注意:覆蓋的文件需要設置編碼,使用notepad++打開,找到編輯--》檔案格式轉換,設置為unix格式(因為部署在linux服務器上)
然后在格式--》選擇以UTF-8格式編碼,這樣覆蓋文件后才不會出現亂碼