背景:为了减少依赖,在微服务编写时,将配置项(比如数据库连接串)放在本地配置文件中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格式编码,这样覆盖文件后才不会出现乱码