在Docker容器中运行SQL Server的优势是什么?

10

我需要在我的开发机上运行SQL Server(Express)实例以便使用Web应用程序。

最近我开始使用Docker,想知道是否有使用Microsoft SQLServer Docker镜像的优点,而不是在我的机器上直接安装SQL Server。

我正在使用Win10机器。

1个回答

15

快速安装

如果您已经安装了 Docker,最好说不需要安装。只需提供 3 个环境变量(服务器类型、密码和接受 EULA),然后运行 docker run 即可。

自动安装/部署

您可以通过几个命令启动 SQL Server,无需用户交互过程。这对于 CI/CD 管道非常有用。

云原生

想要在 VPS 上运行您的解决方案吗?还是 GCP/AKS/AWS?您距离使用 Kubernetes 只有一步之遥 - 您的容器可以在任何地方运行。

便宜

基于 Windows 的虚拟服务器比 Linux 更昂贵。使用 Linux 运行程序进行测试可以节省费用。

针对不同服务器/版本的测试

按照 @DanGuzman 的评论,您可以通过更改映像的 tag 或环境变量中的 SQL Server 类型来测试不同 SQL Server 版本的解决方案。

隔离性

使用 SQL Server 轻松创建单独的桥接网络,控制访问权限。只需通过 Docker 工具分离网络,即可轻松在同一台计算机上同时启动多个实例。

重置

测试需要您能够重置所有更改并从同一起点重新开始所有测试。使用容器及其卷,您只需一个命令即可实现。

透明的配置

您提供Dockerfiledocker-compose.yml文件,其中所有步骤都清楚地明确写出。无需提供额外的自述文件以设置服务器。

跨平台

开发人员可以在大型项目(我们的情况)中使用不同的操作系统。Docker配置将在任何操作系统上运行而无需更改。也许您的设计师使用MacOS并且还想在本地运行解决方案?有了Docker就很容易。


3
补充一下,数据库容器特别适合用于持续集成/持续交付流程,其中可以快速而反复地进行构建、部署、单元测试和撤销。 - Dan Guzman
1
容器的另一个优点是,可以构建许多自定义映像以适应不同的SQL版本和/或配置(例如,在Windows上针对SQL Server使用不同的排序规则),而无需使用太多本地命名实例或虚拟机。 - Dan Guzman
好的回答,谢谢。当数据库在容器中时,备份怎么办? - Daniel Archer
数据可以驻留在卷中,甚至在绑定挂载中。这个想法更多是关于保持引擎本身的容器化。 - grapes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接