用 docker secrets 保存 appsettings.Production.json
来源:互联网 发布:淘宝金酷娃玩具拖车 编辑:程序博客网 时间:2024/05/19 05:01
这是我们使用阿里云容器服务基于 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
- Is Docker ready for production?
- asp.net core 获取 appsettings.json 配置
- asp.net core 读取Appsettings.json 配置文件
- Why Docker is Not Yet Succeeding Widely in Production
- ASP.NET Core读取appsettings.json的配置
- ASP.NET Core读取appsettings.json的配置
- DotNetCore跨平台~在appsettings.json里自定义配置项
- 用 JSON 保存后台配置数据
- docker state.json
- docker之daemon.json
- GIT JSON MAVEN DOCKER
- docker image保存和恢复
- docker容器修改并保存
- 解决docker WARNING: Usage of loopback devices is strongly discouraged for production use的正确姿势
- ASP.NET Core 优雅的在开发环境保存机密(User Secrets)
- 保存方法Json
- DotNetCore跨平台~关于appsettings.json里各种配置项的读取
- SLAM关于旋转矩阵 欧拉角 四元数
- .Net中的AOP系列之《AOP实现类型》
- 编写高性能 .NET 代码 第二章:垃圾回收 基本操作
- Cockroach DB 1.0发布
- 读《代码不朽:编写可维护软件的10大要则》C# 版
- 用 docker secrets 保存 appsettings.Production.json
- 事件总线(Event Bus)知多少
- 编写高性能 .NET 代码 第二章:垃圾回收
- 袜子商店应用:一个云原生参照应用
- C# 7.1先睹为快(第一部分)
- 记一次分布式B站爬虫任务系统的完整设计和实施
- 应用软件系统程序员的三个立面
- 下拉菜单
- 6月Unity技术路演华东站报名启动!