使用docker創(chuàng)建和運(yùn)行跨平臺的容器化mssql數(shù)據(jù)庫
我們一般啟用sql server數(shù)據(jù)庫要么選擇安裝SQL Server實(shí)例和管理工具(SSMS),要么用vs自帶的數(shù)據(jù)庫。如今net跨平臺成為趨勢,今天給大家介紹另一種我最近在玩的方式,即使用docker創(chuàng)建并啟用sql數(shù)據(jù)庫。
本章介紹了在window10專業(yè)版下如何利用docker創(chuàng)建mssql數(shù)據(jù)庫,包括以下主題:
- 安裝并驗(yàn)證docker
- 利用docker創(chuàng)建mssql實(shí)例
- 使用vs2022連接sql
首先我們看下sql自帶的數(shù)據(jù)庫管理工具,打開vs2022-視圖-SQL Server對象資源管理器,在SQL Server實(shí)例中第一個選項(xiàng)就是vs自帶的數(shù)據(jù)庫。

在接下來的內(nèi)容中我們來試著添加一個基于docker的數(shù)據(jù)庫容器鏡像。
1.開啟虛擬化服務(wù)
在安裝docker之前,需要確保虛擬化服務(wù)是開啟狀態(tài)。右鍵win圖標(biāo),選擇應(yīng)用和功能(或者打開控制面板),點(diǎn)擊程序和功能-啟用或關(guān)閉windows功能,勾選Hyper-V,點(diǎn)擊確定開啟功能。(如果是win10家庭版的話,是看不到Hyper-V選項(xiàng)的,比較麻煩,需要修改注冊表,但網(wǎng)上有教程,可以搜索并按照教程做)

2.安裝Docker desktop
在docker官網(wǎng)根據(jù)需要選擇下載安裝程序,我們選擇windows版本。安裝完成以后docker會自動啟動,任務(wù)欄會有一個鯨魚圖標(biāo),表明docker正在運(yùn)行。

我們可以通過命令行驗(yàn)證一下docker的安裝情況,輸入docker --version可以看到版本信息

也可以郵件鯨魚圖標(biāo),點(diǎn)擊About Docker Desktop查看

3.部署本地mssql數(shù)據(jù)庫
第一步:拉取SQL Server 2019 Linux 容器鏡像,打開命令行,輸入docker pullmcr.microsoft.com/mssql/server:2019-latest

輸入docker images查看鏡像

第二步:1.運(yùn)行容器鏡像,命令行輸入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表示接受最終用戶許可協(xié)議
SA_PASSWORD=MyStrongPwd!2#表示賬戶名sa,密碼MyStrongPwd!2#
-p設(shè)置端口 1433:1433 前者表示對外提供的訪問端口號,后者表示容器內(nèi)部的端口號(如果這一步報(bào)錯"docker: Error response from daemon: Ports are not available...",這說明端口被占用了,一般是被sqlserver服務(wù)占用了,可以打開sqlserver配置管理器將Sql server服務(wù)停止即可)
-d設(shè)置鏡像名,設(shè)置為拉取的鏡像mcr.microsoft.com/mssql/server:2019-latest
還可以通過 --name xxxx為容器指定一個自定義名稱,通過--hostnam xxxx設(shè)置容器主機(jī)名,如果不設(shè)置docker會隨機(jī)給容器命名。
2.查看運(yùn)行狀況,命令行輸入docker ps,可以看到正在運(yùn)行

3.另外也能在Docker Desktop-Container查看剛剛創(chuàng)建的容器

4.使用VS驗(yàn)證
打開vs的SQL Server對象資源管理器,點(diǎn)擊左上角添加 SQL Server按鈕,輸入信息,點(diǎn)擊連接

完成后在SQL Server實(shí)例列表里可以看到新增了一個localhost服務(wù)器,說明vs已經(jīng)連接上docker創(chuàng)建的sql了

因?yàn)檫€沒有創(chuàng)建數(shù)據(jù)庫,所以只能看到系統(tǒng)數(shù)據(jù)庫,下一篇我們將使用EFCore創(chuàng)建并初始化數(shù)據(jù)庫。
到此這篇關(guān)于使用docker創(chuàng)建和運(yùn)行跨平臺的容器化的mssql數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)使用docker創(chuàng)建和運(yùn)行跨平臺的容器化的mssql數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker images導(dǎo)出和導(dǎo)入操作
這篇文章主要介紹了Docker images導(dǎo)出和導(dǎo)入操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
docker安裝nacos并配置數(shù)據(jù)庫的全過程
這篇文章主要給大家介紹了關(guān)于docker安裝nacos并配置數(shù)據(jù)庫的相關(guān)資料, Nacos是SpringCloudAlibaba架構(gòu)中最重要的組件,Nacos 是一個更易于幫助構(gòu)建云原生應(yīng)用的動態(tài)服務(wù)發(fā)現(xiàn)、配置和服務(wù)管理平臺,文中介紹的非常信息,需要的朋友可以參考下2023-09-09
docker報(bào)錯Container is not running問題及解決
這篇文章主要介紹了docker報(bào)錯Container is not running問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05
Docker搭建代碼檢測平臺SonarQube并檢測maven項(xiàng)目的流程
這篇文章主要介紹了Docker搭建代碼檢測平臺SonarQube并檢測maven項(xiàng)目,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
Docker 解決容器時(shí)間與主機(jī)時(shí)間不一致的問題三種解決方案
這篇文章主要介紹了Docker 解決容器時(shí)間與主機(jī)時(shí)間不一致的問題的相關(guān)資料,這里提供了三種方法,供大家參考,需要的朋友可以參考下2016-12-12

