Linux系統(tǒng)通過Docker安裝SQL?Server數(shù)據(jù)庫(kù)
一、前言
現(xiàn)在.NET Core已經(jīng)跨平臺(tái)了,支持Windows、Linux、Mac系統(tǒng),而我們也已經(jīng)在Linux上面使用了Docker。使用.NET開發(fā)的人使用最多的就是SQL Server數(shù)據(jù),以前是只能在Windows系統(tǒng)上使用,但是從SQL Server 2017開始支持運(yùn)行在docker上了,也就是說現(xiàn)在SQL Server可以在Linux上運(yùn)行了。
本篇文章將會(huì)介紹如何使用docker安裝SQL Server。這里使用的是Contos7,其他版本的Linux操作系統(tǒng)也一樣。使用的數(shù)據(jù)庫(kù)是SQL Server 2017。
二、安裝SQL Server
1、拉取SQL Server鏡像
要在Docker中安裝SQL Server,首先要有SQL Server的鏡像,所以第一步是拉取SQL Server鏡像
sudo docker pull mcr.microsoft.com/mssql/server:2017-latest
如圖所示
2、創(chuàng)建目錄
我們知道,Docker容器一旦刪除了,那么容器里面的數(shù)據(jù)也會(huì)丟失,所以我們?cè)谒拗鳈C(jī)上面創(chuàng)建一個(gè)目錄,用來掛載容器內(nèi)的目錄。
mkdir /etc/sqlserver_data
如圖所示
3、運(yùn)行容器
有了鏡像之后,我們就可以根據(jù)鏡像去運(yùn)行容器了。
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=P@ssw0rd," -p 1433:1433 --name sqlserver2017 -v /etc/sqlserver_data:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2017-latest
我們對(duì)上面的命令做如下的解釋
- -e "SA_PASSWORD=P@ssw0rd,":這里是給SA用戶設(shè)置登錄密碼,這里設(shè)置的密碼是P@ssw0rd,。
- -v /etc/sqlserver_data:/var/opt/mssql:表示/etc/sqlserver_data目錄掛載到容器的/var/opt/mssql目錄,這個(gè)目錄是用來存儲(chǔ)數(shù)據(jù)庫(kù)文件的,所以最好掛載到容器外部,避免因?yàn)椴恍⌒膭h除容器而丟失數(shù)據(jù)。
- -p 1433:1433:表示宿主機(jī)的1433端口映射到容器的1433。
如圖所示
4、使用命令進(jìn)入SQL Server
容器運(yùn)行以后,我們使用exec命令進(jìn)入SQL Server內(nèi)部
docker exec -it sqlserver2017 /bin/bash
如圖所示
這樣我們就進(jìn)入了容器內(nèi)部,然后執(zhí)行下面的命令:
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"
在示例中的命令如下:
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P P@ssw0rd,
如果成功,應(yīng)會(huì)顯示 sqlcmd 命令提示符:1>
。
如圖所示
執(zhí)行下面的命令,查詢數(shù)據(jù)
select name from sys.Databases
如圖所示
可以查詢出結(jié)果。
我們通過命令的方式創(chuàng)建數(shù)據(jù)庫(kù),然后創(chuàng)建表,并插入一些數(shù)據(jù)。
5、使用SSMS登錄SQL Server數(shù)據(jù)庫(kù)
上面我們是直接使用命令的方式操作數(shù)據(jù)庫(kù),我們還可以使用Microsoft SQL Server Management Studio(SSMS)進(jìn)行登錄Docker里面的數(shù)據(jù)庫(kù),然后通過圖形化界面的方式操作數(shù)據(jù)庫(kù)
使用SSMS連接Linux上的SQL Server參考微軟官方文檔:https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-manage-ssms?view=sql-server-2017
登錄成功以后我們查詢數(shù)據(jù),如圖所示
我們往student表里面插入一條數(shù)據(jù)
我們?cè)贒ocker里面查看,看看數(shù)據(jù)有沒有變化
我們看到docker里面的數(shù)據(jù)也發(fā)生了變化。 使用SSMS操作數(shù)據(jù)庫(kù)就跟在docker里面使用命令直接操作數(shù)據(jù)庫(kù)一樣。
三、總結(jié)
上面簡(jiǎn)單介紹了一下如何在Linux系統(tǒng)上通過Docker安裝SQL Server數(shù)據(jù)庫(kù),安裝好了以后,我們就可以使用SSMS操作Docker里面的數(shù)據(jù)庫(kù)了,就跟在Windows上面安裝的SQL Server操作一樣了。更多內(nèi)容可以參考微軟官網(wǎng)文檔:
到此這篇關(guān)于Linux系統(tǒng)通過Docker安裝SQL Server數(shù)據(jù)庫(kù)的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用Docker部署SpringBoot項(xiàng)目的實(shí)現(xiàn)方法
這篇文章主要介紹了使用Docker部署SpringBoot項(xiàng)目的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01詳解Ubuntu Docker Registry 搭建私有倉(cāng)庫(kù)
這篇文章主要介紹了詳解Ubuntu Docker Registry 搭建私有倉(cāng)庫(kù),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-02-02詳解從 0 開始使用 Docker 快速搭建 Hadoop 集群環(huán)境
這篇文章主要介紹了詳解從 0 開始使用 Docker 快速搭建 Hadoop 集群環(huán)境,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03Docker容器網(wǎng)絡(luò)基礎(chǔ)概述
這篇文章主要介紹了Docker容器網(wǎng)絡(luò)基礎(chǔ)概述,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09Docker私有倉(cāng)庫(kù)的搭建和界面化管理詳解
這篇文章主要給大家介紹了關(guān)于Docker私有倉(cāng)庫(kù)的搭建和界面化管理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Docker具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12Docker格式化輸出命令:"docker?inspect?--format"?學(xué)習(xí)記錄
Docker?--format?參數(shù)提供了基于?Go模板?的日志格式化輸出輔助功能,并提供了一些內(nèi)置的增強(qiáng)函數(shù),這篇文章主要介紹了Docker格式化輸出命令:"docker?inspect?--format"?學(xué)習(xí)筆記,需要的朋友可以參考下2023-01-01