我们一般启用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 pull mcr.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创建并初始化数据库。

最新文章

  1. GNU/Linux复习笔记(2)
  2. ajax 请求多张图片数据
  3. JSP工作原理
  4. [转] - bashrc与profile的区别
  5. JavaWeb开发实例---Servlet
  6. cocos2d-x android黑屏后返回游戏卡顿
  7. mysql federated engine
  8. 非常出色的一款WinForm窗体重绘GUI类库源码
  9. Metasploit渗透测试魔鬼训练营
  10. Number Transformation
  11. css 文本域textarea显示成label标签
  12. H5微场景宽、高度自适应办法
  13. 1613: [Usaco2007 Jan]Running贝茜的晨练计划
  14. 微信小程序(组件demo)以及预览方法:(小程序交流群:604788754)
  15. I/P/B/SI/SP帧和PTS/DTS的关系
  16. 基于spark实现并行化Apriori算法
  17. Linux查看分区文件系统类型总结
  18. webbug3.0靶场第二关
  19. double compare 0
  20. python中关于列表和元祖的基础知识

热门文章

  1. Codepen 每日精选(2018-4-20)
  2. 数据库number(4,3)表示什么
  3. 【零碎小bug系列】windows下的回车和换行符,cmd(telnet)上输出不左对齐
  4. Water 2.5.8 发布,一站式服务治理平台
  5. SSL及GMVPN握手协议详解
  6. 2021.11.11 EXKMP
  7. Spring从入门到源码(一)
  8. asp.net core MVC 添加静态文件
  9. XCTF练习题---WEB---get_post
  10. Unity实现A*寻路算法学习2.0