数据库-克隆-for-docker-SQL-2017-Linux-contain

在过去的两年里,Windocks已经从Docker开源项目的一个独立端口发展到了Windows,提供了一个完整的SQL Server数据交付解决方案。 Windocks支持基于SQL Server备份或存储阵列创建克隆数据环境,并提供给微软的SQL Server容器、实例和库本内特集群。 在本文中,我们将了解如何在Linux容器上向SQL Server 2017交付数据库克隆。

Linux容器中的SQL Server 2017因其容器的速度和灵活性以及数据库性能而备受关注。 这里概述的方法应该对升级测试以及一般开发/测试使用特别有用。 克隆支持在几秒钟内交付万亿字节数据库,具有完整的读/写操作,同时消耗最少的网络和存储空间。

Dockerfiles是定义了SQL Server容器的纯文本配置文件,在Windocks 3中。0,可以在运行时应用。 每个映像都可以包含许多数据库,这些数据库带有应用于用户/组权限、数据屏蔽和其他需求的脚本。

风闸3。0支持外部存储阵列和窗口文件系统数据库克隆。 基于窗口的SQL Server映像是用完数据库实时同步 整备份或差异备份或数据库文件构建的,每个文件都是数据的完整字节副本。 创建后,映像支持在几秒钟内创建和交付克隆,并提供完整的读/写支持,每个克隆交付时所需的容量不超过40 MB。

该文件定义了一个映像,用于将克隆的数据库传送到一个SQL Server 2017 Linux容器中。

数据库-克隆-for-docker-SQL-2017-Linux-contain

env use _ DOCKERFILE _ TO _ CREATE _ CONTAINER 确保在运行时为每个容器/环境应用Dockerfile。 交付到SQL Server 2017 Linux容器是通过以下方式完成的 运行目标附加_MSContainerSqlLinux 显示了参数。 SQL Server克隆是用 SETUPCLONING, 全部, 差速器 (差异)备份,或 生的 数据库文件。

Support for the delivery of database clones over the network is based on SMB, with a file share created on the Windocks host mapped to the Linux host (c:\windocks\data to /windocks/dataexternal as shown above)。 Linux设置包括安装SAMBA和Docker守护程序,配置为允许远程命令。

一次性构建可创建支持无限数量克隆的映像。 下面的示例显示了将克隆传递到新的SQL 2017容器的构建,后跟一个命令。 涉及的大多数参数,包括主机IP地址和目标SQL Server映像,都包含在映像中。 创建容器只需要两个参数,包括目标端口和服务协议密码。

数据库-克隆-for-docker-SQL-2017-Linux-contain组合环境的管理由Windocks容器处理。 到了刷新环境的时候,移除Windocks容器就移除了Linux容器和相关的挂载。

风闸3。0引入了对Windocks映像和容器的加密凭据支持。 上面描述的工作流程涉及明文的SQL SA密码,这是当前在Linux上使用SQL Server 2017的做法。 当使用Windocks SQL Server容器时,可以使用以下方法来保护凭据:

  • Windocks容器支持窗口身份验证。
  • 通过克隆一个配置为由Windocks服务使用的SQL Server实例来创建Windocks Windows SQL Server容器。 每个容器继承在父实例上配置的SQL登录,使用户能够使用这些帐户。
  • 温多克斯还为每个创建的SQL容器提供可配置的服务协议凭证,包括无服务协议密码、加密服务协议密码或明文密码选项。 这三个选项是在Windocks配置文件夹节点文件中配置的。 SHOW_SA_PASSWORD=”0 “或1或2,分别表示无密码、加密或明文。 对闸门配置进行更改后,重新启动闸门服务。

死锁加密基于窗口数据保护应用编程接口。 To encrypt a password, navigate to \Windocks\bin and open a command prompt and enter “encrypt。”程序提示输入凭据字符串,并将哈希结果写入加密。在同一个目录中。 打开文本文件并将字符串复制到Dockerfile中,在本例中,我们引用了ArrayPassword参数的密码:

ArrayPassword|1,0,0,0,208,140,157,223,1,21,209,17,140,122,0,192,79,194,1,0,. . .

通过将加密的密码直接合并到文件中,文件可以安全地保存和使用。 一旦凭证被加密,散列结果或环境变量需要在对该凭证的任何引用中使用。

当配置为传递加密的凭据时,Windocks SQL容器SA密码以标准Docker客户端返回字符串的形式传递(如下图所示)。 要解密凭据,请复制完整的字符串并保存为加密的。txt文件。 RDP到温多克斯服务器,复制加密的。txt into the \windocks\bin directory. 打开命令提示符,输入“解密”。”

数据库-克隆-for-docker-SQL-2017-Linux-contain

该程序解密文本文件并提供密码:

数据库-克隆-for-docker-SQL-2017-Linux-contain

通过使用运行时环境变量,用户可以使用映像中的数据库子集: SQL _ DB _ NAME _ OVERRIDES = ” dbname1,dbname2 ”

> docker create-e SQL _ DB _ NAME _ OVERRIDE = ” dbname 1,dbname2 ”

Windocks网络用户界面简化了开发人员和其他用户的使用。 打开Chrome或Firefox浏览器,指向Windocks服务器的IP地址(本地:127。0.0.1)。 图像以所需参数显示,包括使用所需数据库子集的选项。 以Linux SQL容器为目标的映像只需要目标端口上的用户输入和SQL服务协议密码,并包括一个下拉选择器,用于处理映像中数据库的子集。

数据库-克隆-for-docker-SQL-2017-Linux-contain

在一个越来越多地采用Linux和开源技术的世界里,SQL Server 2017 Linux容器吸引了大量的注意力。 无论您使用何种形式的SQL Server,数据库克隆都是实现高效的开发和测试工作流的关键。 云锁数据库克隆支持高效的升级测试,并在新的SQL Server 2017 Linux容器上处理大型复杂的数据环境。

你可以从今天开始通过下载免费的温多克斯社区版来探索这些功能。的风闸.
com / community-docker-windows