我們一般啟用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建立並初始化資料庫。