用 docker secrets 保存 appsettings.Production.json
2017-06-12 07:07
417 查看
这是我们使用阿里云容器服务基于 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 客户端连接到阿里云容器服务中对应的集群):
接着修改编排(compose)文件,启用这个 secret :
有了这个编排,容器启动后,就可以在 /run/secrets 目录中看到这个文件,并且可以查看文件中的配置内容:
为了让容器中的 asp.net core 应用能够读取到这个文件,我们采用的方法是在容器启动时,将其复制到应用程序的根目录中并重命名为 appsettings.Production.json :
添加了 secret ,修改好 compose ,重新部署应用,运行在容器中的 asp.net core 应用就能成功读取到保存在 docker secrets 中的 appsettings.Production.json 的配置。
搞定!
原文地址:http://www.cnblogs.com/dudu/p/6985313.html
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注
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跨平台或扫描二维码关注
相关文章推荐
- 阿里云容器服务与ASP.NET Core部署:用 docker secrets 保存 appsettings.Production.json
- [转]Setting the NLog database connection string in the ASP.NET Core appsettings.json
- Adding appsettings.json to a .NET Core console app
- ASP .NET CORE 根据环境变量支持多个 appsettings.json
- .Net Core 读取配置文件 appsettings.json
- ASP .NET CORE 根据环境变量支持多个 appsettings.json
- NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json
- Talking appsettings.json in Asp.Net Core
- spark sql中将数据保存成parquet,json格式
- 【微信小程序】小程序入门app.js、app.json、app.wxss解说
- 教你怎么去一个APP的JSON数据,你懂的
- C# 读取保存App.config配置文件的完整源码参考
- 微信小程序基础-项目结构、app.json和视图层
- Metro Style App开发快速入门 之XML文件读取,修改,保存等操作
- 修改eclipse中settings.xml和默认资源库保存地址
- 小程序app.json 基础配置
- Properties.Settings.Default 用户设置的保存位置
- 基于docker部署的微服务架构(八): 日志数据保存到MongoDB数据库
- AppSettings&ConnectionStrings关于数据库连接 的区别[转]
- php使用js保存的json cookie 字符串,然后解析成数组,需要注意的事项