4

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

 1 year ago
source link: https://www.cnblogs.com/YKAndXLL520/p/16311541.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

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

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

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

2281532-20220525102914351-154916042.png

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

1.开启虚拟化服务

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

2281532-20220525105140436-1308426411.png

2.安装Docker desktop

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

2281532-20220525110004417-1926951468.png

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

2281532-20220525110244883-1313043013.png

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

2281532-20220525110353043-2134905481.png

 3.部署本地mssql数据库 

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

2281532-20220525110817292-1935592792.png

 输入docker images查看镜像

2281532-20220525111056462-1679777112.png

第二步: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,可以看到正在运行

2281532-20220525145046927-819294981.png

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

2281532-20220525144958972-500228301.png

4.使用VS验证

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

2281532-20220525114413602-1839121205.png

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

2281532-20220525141923418-1365685550.png

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK