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

简介: 如何在几秒钟内打开数据库容器并且学习如何把您的数据库对象制作成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万次的下载量。

目录
相关文章
|
6月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
2487 4
|
6月前
|
存储 搜索推荐 数据库
🚀 RAGFlow Docker 部署全流程教程
RAGFlow是开源的下一代RAG系统,融合向量数据库与大模型,支持全文检索、插件化引擎切换,适用于企业知识库、智能客服等场景。支持Docker一键部署,提供轻量与完整版本,助力高效搭建私有化AI问答平台。
5122 8
|
9月前
|
文件存储 数据安全/隐私保护 开发者
群晖NAS Docker镜像源加速配置教程
本教程介绍了群晖NAS用户如何通过配置轩辕镜像加速服务提升Docker镜像拉取速度。内容包括配置前准备、详细设置步骤及日常使用说明,帮助用户快速完成配置并享受高效稳定的镜像下载体验。
5503 60
|
7月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1212 5
|
8月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
510 16
|
运维 关系型数据库 MySQL
宝塔面板 Docker 镜像加速教程
本文介绍了如何为宝塔面板中的 Docker 配置轩辕镜像加速。内容包括:安装 Docker 管理器、获取镜像加速地址、配置加速 URL 以及验证设置等步骤。通过使用免费版或专业版加速地址(如 docker.xuanyuan.me 或 xuanyuan.cloud),可显著提升镜像拉取速度。同时,还提供了日常使用方法和注意事项,帮助用户顺利完成配置并保障 Docker 服务稳定运行。
653 0
|
9月前
|
NoSQL Redis Docker
使用Docker Compose工具进行容器编排的教程
以上就是使用Docker Compose进行容器编排的基础操作。这能帮你更有效地在本地或者在服务器上部署和管理多容器应用。
712 11
|
关系型数据库 MySQL 数据库连接
docker拉取MySQL后数据库连接失败解决方案
通过以上方法,可以解决Docker中拉取MySQL镜像后数据库连接失败的常见问题。关键步骤包括确保容器正确启动、配置正确的环境变量、合理设置网络和权限,以及检查主机防火墙设置等。通过逐步排查,可以快速定位并解决连接问题,确保MySQL服务的正常使用。
2557 82
|
10月前
|
消息中间件 监控 Docker
Docker环境下快速部署RabbitMQ教程。
就这样,你成功地用魔法召唤出了RabbitMQ,还把它和你的应用程序连接了起来。现在,消息会像小溪流水一样,在你的系统中自由流淌。别忘了,兔子们不喜欢孤独,他们需要你细心的关怀,不时地监控它们,确保他们的世界运转得井井有条。
613 18
|
10月前
|
消息中间件 监控 Docker
Docker环境下快速部署RabbitMQ教程。
至此,这次神秘而简明的部署之旅告一段落。祝你在利用RabbitMQ打造消息队列时,一切顺风顺水!
592 8