安阳网站建设哪家好,台州网站建设公司.,精选网站建立 推广 优化,徐州app制作这是我们使用阿里云容器服务基于 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 目录中看到这个文件并且可以查看文件中的配置内容
root511090335bb5:/# ls /run/secrets
cache-service-appsettings.Production.json root511090335bb5:/# 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跨平台或扫描二维码关注