Sql server 如何安全地向SQLServer2017 linux Docker容器提供SA密码?
Docker的常见设置:两个linux容器,一个是使用EntityFramework的.NET核心Web服务器,另一个是MS SQLServer 2017。持久数据保存在Docker卷中。使用Sql server 如何安全地向SQLServer2017 linux Docker容器提供SA密码?,sql-server,docker,docker-compose,Sql Server,Docker,Docker Compose,Docker的常见设置:两个linux容器,一个是使用EntityFramework的.NET核心Web服务器,另一个是MS SQLServer 2017。持久数据保存在Docker卷中。使用docker compose,它不是一个蜂群 启动SQLServer容器时,必须将SA密码作为环境变量提供给容器。但是,您可以在以后使用docker container inspect从容器外部读取此env。这显然会危及安全 这就引出了两个问题: 有什么更好的方法向SQLServer提供SA密码? (在中讨
docker compose
,它不是一个蜂群
启动SQLServer容器时,必须将SA密码作为环境变量提供给容器。但是,您可以在以后使用docker container inspect
从容器外部读取此env。这显然会危及安全
这就引出了两个问题:
机密时,docker都会终止所有使用修改过的机密的容器,并使用新的机密重新初始化它们。而且,docker会自动完成。肯定会有停机时间,为了防止停机,您可以放置两个容器,然后开始一次停机
编辑:使用swarm模式,您不必担心更改docker compose
文件,因为同一个文件以及一些添加的字段可以用作docker堆栈
文件
有什么更好的方法向SQLServer提供SA密码
您需要使用一个容器群来实现这一点。完成此操作后,您可以使用来传递凭据
Microsoft帮助说明,最好在启动容器后直接更改SA密码。当我在我的Web服务器上这样做时
代码,EntityFramework已与默认SA连接
密码(我作为env提供的密码)。我可以更改密码
很容易。但是我如何让EntityFramework重置它的
连接字符串
单个容器群自动解决了这个问题。每次更新机密时,docker都会终止所有使用修改过的机密的容器,并使用新的机密重新初始化它们。而且,docker会自动完成。肯定会有停机时间,为了防止停机,您可以放置两个容器,然后开始一次停机
编辑:使用swarm模式,您不必担心更改docker compose
文件,因为同一个文件以及一些添加的字段可以用作docker堆栈
文件