这是我们使用阿里云容器服务基于 docker 容器部署 asp.net core 应用遇到的另一个问题 —— 如果将包含敏感信息的应用配置文件 appsettings.Production.json 传递给运行在容器中的 asp.net core 应用。

Docker 针对这样的应用场景已经提供了解决方案 —— Docker Secrets,对应的 docker 命令是 docker secret 。我们就用 docker secrets 解决了这个问题,在这篇随笔中分享一下。

首先在阿里云容器服务中将 appsettings.Production.json 添加到 docker scrects :

进入集群管理的控制台 -> “密钥管理”,点击“创建”按钮添加一个 secret ,将 appsettings.Production.json 中的保存在这里(见下图)。

如果不通过阿里云容器服务控制台,可以直接使用 docker secret 命令添加(前提用 docker 客户端连接到阿里云容器服务中对应的集群):

cat appsettings.Production.json | docker secret create cache-service-appsettings.Production.json -

接着修改编排(compose)文件,启用这个 secret :

secrets:- cache-service-appsettings.Production.json

有了这个编排,容器启动后,就可以在 /run/secrets 目录中看到这个文件,并且可以查看文件中的配置内容:

root@511090335bb5:/# ls /run/secrets
cache-service-appsettings.Production.json    root@511090335bb5:/# cat /run/secrets/cache-service-appsettings.Production.json

为了让容器中的 asp.net core 应用能够读取到这个文件,我们采用的方法是在容器启动时,将其复制到应用程序的根目录中并重命名为 appsettings.Production.json :

command: bash -c "cp /run/secrets/cache-service-appsettings.Production.json /app/appsettings.Production.json && cd /app && dotnet Cnblogs.Cache.WebApi.dll"

添加了 secret ,修改好 compose ,重新部署应用,运行在容器中的 asp.net core 应用就能成功读取到保存在 docker secrets 中的  appsettings.Production.json 的配置。

搞定!

原文地址:http://www.cnblogs.com/dudu/p/6985313.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

用 docker secrets 保存 appsettings.Production.json相关推荐

  1. 阿里云容器服务与ASP.NET Core部署:用 docker secrets 保存 appsettings.Production.json

    这是我们使用阿里云容器服务基于 docker 容器部署 asp.net core 应用遇到的另一个问题 -- 如果将包含敏感信息的应用配置文件 appsettings.Production.json ...

  2. 将Chrome调试器里的JavaScript变量保存成本地JSON文件

    我们在Chrome开发者工具的Console标签页里,可以输入JavaScript变量然后回车,查看这些变量的值. 比如我用类jQuery选择器的语法 var button = $('button') ...

  3. JS 变量保存为本地json文件,读取本地json文件为变量

    一.变量保存为本地json文件: 第一步:把返回的数据转成json格式 var content = json.stringify(data); 第二步:把转成blob这种格式             ...

  4. scrapy 保存mysql_scrapy爬虫事件以及数据保存为txt,json,mysql

    今天要爬取的网页是虎嗅网 我们将完成如下几个步骤: 创建一个新的Scrapy工程 定义你所需要要抽取的Item对象 编写一个spider来爬取某个网站并提取出所有的Item对象 编写一个Item Pi ...

  5. docker镜像保存为文件与文件载入为docker镜像

    文章目录 一.docker镜像保存为文件 二.导出的镜像文件载入为docker镜像 提示:以下是本篇文章正文内容,下面案例可供参考 一.docker镜像保存为文件 #查看镜像列表 [root@loca ...

  6. docker镜像默认下载文件夹迁移,docker默认保存位置及迁移

    linux系统盘空间太小了,如果将docker装在系统盘下,很容易被占满,这个时候就需要将docker默认的下载及镜像保存的路径改到空间大的磁盘中. 步骤一: 首先在空间大的磁盘下新建一个目录,我这里 ...

  7. 上传镜像文件到服务器,通过把docker镜像保存为文件载入到别的服务器

    在我们的工作环境中,一般镜像通过上传到镜像仓库中(本地或者公共仓库),用到时下载到服务器上即可.如果服务器不能上网,又没有私有仓库,我们就需要将镜像保存为文件上传到服务器上,载入镜像即可使用. 1.保 ...

  8. docker 容器保存为镜像_Docker容器和镜像操作

    前言 Docker 容器和镜像操作,记录下来! 容器 创建一个新的容器(ubuntu)并启动 $ docker run -dit --name ubuntu ubuntu 在容器内执行命令(容器在后台 ...

  9. php把表单转为json保存,javascript – 使用jquery将表单数据保存到本地json文件中

    我有一个带有一些输入字段的基本表单.我想在提交表单时将表单数据保存到json文件中. json文件中保存数据的格式应如下所示. [ {"title":"some text ...

最新文章

  1. @程序员,第一批00后开始报考AI专业了
  2. 使用EasyUI的Datagrid的Editor进行行编辑,Enter回车结束编辑,并开启新的一行。
  3. 希尔排序(缩小增量排序)(插入排序的优化版) C++代码实现及算法分析 恋上数据结构笔记
  4. 『OpenCV3』滤波器实现及使用滤波器降噪
  5. Linux上(Redhat7)实现NFS文件共享服务
  6. android自定义alertdialog不现实输入法,自定义的dialog中的EditText无法弹出输入法解决方案...
  7. 谷歌为安卓系统加入Fast Pair技术 蓝牙耳机将实现设备自动切换
  8. linux主题管理器,XFCE 主题管理器:一款单一的GUI主题管理器,更改任何XFCE主题(带预览)...
  9. Ubuntu14.04编译Opencv3.1错误:下载ippicv,解决方案
  10. 5.Hbase API 操作开发
  11. android上的单片机编程软件下载,AVR单片机编程软件(AVR_fighter)
  12. Java面试题中高级,java简历技术栈怎么写
  13. Ipad投屏到windows工具推荐
  14. mysql 唯一索引 死锁_MySQL死锁案例_唯一索引
  15. shell脚本自动更新ca证书
  16. 阿里云RDS金融数据库(三节点版) - 案例篇
  17. 绕过CDN查找真实IP方法总结
  18. PTA - 数据库合集27
  19. Powerbi 通过On-premises data gateway 连接本地多维数据库
  20. 墨迹天气桌面挂件换肤分析

热门文章

  1. 视图加载时自动执行铵钮事件
  2. 非常不错 Hadoop 的HDFS (Hadoop集群(第8期)_HDFS初探之旅)
  3. Spring4Shell的漏洞原理分析
  4. 日志文件记录的重要性
  5. 微服务组件记事本:Skywalking执行效果 · 多图篇
  6. 面向.NET开发人员的Dapr——总结和前景
  7. Visual Studio项目引用出现感叹号怎么办?
  8. [Abp 源码分析]多租户体系与权限验证
  9. 在.NET Core 中收集数据的几种方式
  10. 明源云·天际,地产⾏业的Salesforce Lightning Platform