使用docker创建和运行跨平台的容器化mssql数据库

 更新时间:2022年05月26日 08:33:16   作者:飏大神  
这篇文章主要介绍了使用docker创建和运行跨平台的容器化的mssql数据库,本章介绍了在window10专业版下如何利用docker创建mssql数据库,需要的朋友可以参考下

我们一般启用sql server数据库要么选择安装SQL Server实例和管理工具(SSMS),要么用vs自带的数据库。如今net跨平台成为趋势,今天给大家介绍另一种我最近在玩的方式,即使用docker创建并启用sql数据库。

本章介绍了在window10专业版下如何利用docker创建mssql数据库,包括以下主题:

  • 安装并验证docker
  • 利用docker创建mssql实例
  • 使用vs2022连接sql

首先我们看下sql自带的数据库管理工具,打开vs2022-视图-SQL Server对象资源管理器,在SQL Server实例中第一个选项就是vs自带的数据库。

在接下来的内容中我们来试着添加一个基于docker的数据库容器镜像。

1.开启虚拟化服务

在安装docker之前,需要确保虚拟化服务是开启状态。右键win图标,选择应用和功能(或者打开控制面板),点击程序和功能-启用或关闭windows功能,勾选Hyper-V,点击确定开启功能。(如果是win10家庭版的话,是看不到Hyper-V选项的,比较麻烦,需要修改注册表,但网上有教程,可以搜索并按照教程做)

2.安装Docker desktop

在docker官网根据需要选择下载安装程序,我们选择windows版本。安装完成以后docker会自动启动,任务栏会有一个鲸鱼图标,表明docker正在运行。

我们可以通过命令行验证一下docker的安装情况,输入docker --version可以看到版本信息

也可以邮件鲸鱼图标,点击About Docker Desktop查看

3.部署本地mssql数据库

第一步:拉取SQL Server 2019 Linux 容器镜像,打开命令行,输入docker pullmcr.microsoft.com/mssql/server:2019-latest

输入docker images查看镜像

第二步:1.运行容器镜像,命令行输入docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=MyStrongPwd!2#" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest

其中:ACCEPT_EULA=Y表示接受最终用户许可协议

SA_PASSWORD=MyStrongPwd!2#表示账户名sa,密码MyStrongPwd!2#

-p设置端口 1433:1433 前者表示对外提供的访问端口号,后者表示容器内部的端口号(如果这一步报错"docker: Error response from daemon: Ports are not available...",这说明端口被占用了,一般是被sqlserver服务占用了,可以打开sqlserver配置管理器将Sql server服务停止即可)

-d设置镜像名,设置为拉取的镜像mcr.microsoft.com/mssql/server:2019-latest

还可以通过 --name xxxx为容器指定一个自定义名称,通过--hostnam xxxx设置容器主机名,如果不设置docker会随机给容器命名。

2.查看运行状况,命令行输入docker ps,可以看到正在运行

3.另外也能在Docker Desktop-Container查看刚刚创建的容器

4.使用VS验证

打开vs的SQL Server对象资源管理器,点击左上角添加 SQL Server按钮,输入信息,点击连接

完成后在SQL Server实例列表里可以看到新增了一个localhost服务器,说明vs已经连接上docker创建的sql了

因为还没有创建数据库,所以只能看到系统数据库,下一篇我们将使用EFCore创建并初始化数据库。

到此这篇关于使用docker创建和运行跨平台的容器化的mssql数据库的文章就介绍到这了,更多相关使用docker创建和运行跨平台的容器化的mssql数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker、LXC、LXD的区别及传统的虚拟机与操作系统虚拟化详解

    docker、LXC、LXD的区别及传统的虚拟机与操作系统虚拟化详解

    文章对比了Docker、LXC/LXD与传统虚拟机的区别,Docker为应用级容器,轻量快速,跨平台部署;LXC提供系统级虚拟化,基于Linux内核,但管理复杂;LXD作为LXC升级,支持快照迁移等高级功能,采用REST API,传统虚拟机依赖hypervisor,资源开销大,性能损耗明显
    2025-09-09
  • Docker MySQL每天定时自动备份的实现方法

    Docker MySQL每天定时自动备份的实现方法

    本文主要介绍了Docker MySQL每天定时自动备份的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • docker容器/etc/hosts文件修改方法

    docker容器/etc/hosts文件修改方法

    在容器内部,当需要访问其他容器或主机时,可以通过/etc/hosts文件来解析主机名,从而实现网络通信,这篇文章主要介绍了docker容器/etc/hosts文件,需要的朋友可以参考下
    2023-06-06
  • 浅谈Docker运行Tensorboard和jupyter的方法

    浅谈Docker运行Tensorboard和jupyter的方法

    本篇文章主要介绍了浅谈Docker 运行Tensorboard 和 jupyter的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 浅谈Docker如何自定义host文件

    浅谈Docker如何自定义host文件

    本文主要介绍了Docker如何自定义host文件,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Docker Compose容器编排深度解析与实战小结

    Docker Compose容器编排深度解析与实战小结

    Docker Compose 是 Docker 官方推出的开源项目,用于定义和运行多个 Docker 容器的应用工具,简化了多容器应用的部署和管理,本文介绍Docker Compose:容器编排深度解析与实战指南,感兴趣的朋友一起看看吧
    2025-12-12
  • docker多容器操作与强制删除容器的方法步骤

    docker多容器操作与强制删除容器的方法步骤

    有时候我们会有很多已经停止的容器或者由于错误强制退出不能用的容器,那我们就需要删除了,下面这篇文章主要给大家介绍了关于docker多容器操作与强制删除容器的方法步骤,需要的朋友可以参考下
    2022-11-11
  • docker搭建etcd集群方式 bitnami/etcd

    docker搭建etcd集群方式 bitnami/etcd

    这篇文章主要介绍了docker搭建etcd集群方式 bitnami/etcd,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Docker端口不受ufw防火墙限制问题及解决过程

    Docker端口不受ufw防火墙限制问题及解决过程

    Docker与UFW因iptables兼容性导致端口未被正确过滤,通过修改UFW的after.rules文件,添加针对容器IP和端口的规则,并重启UFW或服务器,可使UFW规则生效,仅允许特定容器端口被外部访问
    2025-09-09
  • Docker容器依赖link连接按顺序启动方式

    Docker容器依赖link连接按顺序启动方式

    这篇文章主要介绍了Docker容器依赖link连接按顺序启动方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05

最新评论