【转载】Docker助你攻克数据库难题,原来数据库还可以这么操作!(附实操教程)

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 如何在几秒钟内打开数据库容器并且学习如何把您的数据库对象制作成Docker 镜像?

写在前面

Microsoft SQL Server 2017首次应用于Windows、Linux 和Docker 容器中。如今在容器中,您的数据库只需要花费很短的时间就可以完成安装并且不再需要其它的安装环境,使用Docker 企业版(EE)会让你的数据库交付变得更具现代化。多年来IT人员和开发人员一直享受Docker 和容器化APP所带来的这种速度和效率的优势,现在,DBAs也可以体验到这种快感了。

开启挑战

尝试登录Docker SQL Server lab(实操教程链接:https://github.com/docker/labs/tree/master/windows/sql-server),见证如何在几秒钟内打开数据库容器并且学习如何把您的数据库对象制作成Docker 镜像吧!

如果您曾安装过一次SQL Server,那么你就一定明白为什么要说这是一件不可小觑的事了:SQL Server 需要一段时间进行设置,而且在同一主机上想要运行多个独立的SQL Server实例并不简单,这会使开发人员、测试人员和CI / CD系统的维护变得非常复杂,其中进行测试和试验都有可能破坏SQL Server实例。

现在,只要在Docker容器中使用SQL Server,那么上述的难题就能迎刃而解了。获取SQL Server就像运行“ docker image pull ”命令一样简单,您可以根据需要在同一主机上启动多个SQL Server实例,并且保证每一个都是独立、纯净的实例,当您使用完一个实例后可以对它随意处置,因为它不会影响到其他的SQL Server实例。

数据库引擎同其他服务器端应用程序一样:它们也在使用CPU和内存的进程中运行,将状态存储到硬盘,并通过网络为客户端提供服务。在容器中所有运作原理都是一样的,但是您也可以通过限制资源、用Volume插件管理状态和限制网络访问的手段来获取符合您需要的理想环境。

许多Docker客户已经在使用像Postgres这样的技术了,在容器中运行高可用性的生产数据库。现在,您可以通过Docker 企业版(EE)来使数据库变的更具有可移植性,安全性和高效性。

用Docker让你的数据库交付变得更具现代化

传统的数据库交付很难适应现代的CI / CD流水线,但Docker却让它变得非常容易。您可以使用Microsoft’s SQL Server 的 Docker镜像,并通过自动化程序把您自己的数据库对象打包在镜像的顶层。这样,所有人都能通过启动一个容器来运行任何版本的数据库对象了——他们甚至不需要在其机器上安装SQL Server。

下图是用Docker来实现数据库交付的工作流程图

image

  1. DBA将数据库对象更改后推送到源代码控制中;
  2. CI流程根据Microsoft发布的SQL Server基础镜像将数据库对象打包到一个Docker镜像中;
  3. CI流程使用从新镜像中创建的一个一次性的数据库容器运行测试套件;
  4. CD流程将测试环境中持续运行的数据库容器升级到新的镜像中;
  5. CD流程运行一个用于升级生产数据库的数据库容器,应用Diff脚本将Schema与新的镜像进行对齐;

打包、测试、分发和升级的整套流程都可以通过Docker来实现自动化部署。您可以在开发和测试环境中运行数据库容器,这些环境是高速的、独立的,并且具有完全相同的数据库对象版本。您可以继续使用您现有的生产数据库,但要使用测试的Docker镜像将更新部署到生产环境中。

支持与下载

Docker 企业版(EE)是一个支持 Linux 在生产环节中运行 SQL Server 的平台。SQL Server for Linux是一个经过认证的容器镜像,这意味着您可以从Microsoft和Docker处获取解决问题的支持。

在Windows Server和Windows 10上,您可以使用Docker在容器中运行SQL Server Express,从而让现有SQL Server部署的数据库交付过程变得更具现代化,并不需要您更改生产环境中的基础设施。

全新的SQL容器将于10月份在Docker Store中供您下载。目前,来自Docker Hub的SQL Server Preview版本已经有超过100万次的下载量。

目录
相关文章
|
10天前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
165 4
kde
|
2月前
|
文件存储 数据安全/隐私保护 开发者
群晖NAS Docker镜像源加速配置教程
本教程介绍了群晖NAS用户如何通过配置轩辕镜像加速服务提升Docker镜像拉取速度。内容包括配置前准备、详细设置步骤及日常使用说明,帮助用户快速完成配置并享受高效稳定的镜像下载体验。
kde
1685 59
|
2月前
|
NoSQL Redis Docker
使用Docker Compose工具进行容器编排的教程
以上就是使用Docker Compose进行容器编排的基础操作。这能帮你更有效地在本地或者在服务器上部署和管理多容器应用。
311 11
|
3月前
|
消息中间件 监控 Docker
Docker环境下快速部署RabbitMQ教程。
就这样,你成功地用魔法召唤出了RabbitMQ,还把它和你的应用程序连接了起来。现在,消息会像小溪流水一样,在你的系统中自由流淌。别忘了,兔子们不喜欢孤独,他们需要你细心的关怀,不时地监控它们,确保他们的世界运转得井井有条。
232 18
|
3月前
|
消息中间件 监控 Docker
Docker环境下快速部署RabbitMQ教程。
至此,这次神秘而简明的部署之旅告一段落。祝你在利用RabbitMQ打造消息队列时,一切顺风顺水!
191 8
|
6月前
|
关系型数据库 MySQL 数据库连接
docker拉取MySQL后数据库连接失败解决方案
通过以上方法,可以解决Docker中拉取MySQL镜像后数据库连接失败的常见问题。关键步骤包括确保容器正确启动、配置正确的环境变量、合理设置网络和权限,以及检查主机防火墙设置等。通过逐步排查,可以快速定位并解决连接问题,确保MySQL服务的正常使用。
999 82
|
6月前
|
SQL 数据库 Docker
【赵渝强老师】在Docker中运行达梦数据库
本文介绍了在Docker容器中部署达梦数据库(DM 8)的具体步骤,包括创建文件夹、下载安装包、导入镜像、启动容器、登录数据库及查看状态等操作。同时,通过视频讲解辅助理解。文中还分析了将数据库服务容器化的潜在问题,如数据安全性、硬件资源争用、网络带宽占用和额外隔离带来的挑战,指出数据库服务在生产环境中可能不适合容器化的原因。
360 4
【赵渝强老师】在Docker中运行达梦数据库
|
6月前
|
监控 关系型数据库 MySQL
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
379 30
|
8月前
|
弹性计算 Ubuntu Linux
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS自动化部署。支持Ubuntu 22.04/20.04、CentOS 7.7-7.9及Alibaba Cloud Linux 3.2104 LTS。前提条件:ECS实例需运行中且有公网。步骤:选择Docker扩展并安装,验证成功通过命令`docker -v`查看版本号。
632 79