首頁 > 軟體

Linux系統通過Docker安裝SQL Server資料庫

2022-03-26 13:00:21

一、前言

現在.NET Core已經跨平臺了,支援Windows、Linux、Mac系統,而我們也已經在Linux上面使用了Docker。使用.NET開發的人使用最多的就是SQL Server資料,以前是隻能在Windows系統上使用,但是從SQL Server 2017開始支援執行在docker上了,也就是說現在SQL Server可以在Linux上執行了。

本篇文章將會介紹如何使用docker安裝SQL Server。這裡使用的是Contos7,其他版本的Linux作業系統也一樣。使用的資料庫是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、建立目錄

我們知道,Docker容器一旦刪除了,那麼容器裡面的資料也會丟失,所以我們在宿主機上面建立一個目錄,用來掛載容器內的目錄。

mkdir /etc/sqlserver_data

如圖所示

3、執行容器

有了映象之後,我們就可以根據映象去執行容器了。

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

我們對上面的命令做如下的解釋

  • -e "SA_PASSWORD=P@ssw0rd,":這裡是給SA使用者設定登入密碼,這裡設定的密碼是P@ssw0rd,。
  • -v /etc/sqlserver_data:/var/opt/mssql:表示/etc/sqlserver_data目錄掛載到容器的/var/opt/mssql目錄,這個目錄是用來儲存資料庫檔案的,所以最好掛載到容器外部,避免因為不小心刪除容器而丟失資料。
  • -p 1433:1433:表示宿主機的1433埠對映到容器的1433。

如圖所示

4、使用命令進入SQL Server

容器執行以後,我們使用exec命令進入SQL Server內部

docker exec -it sqlserver2017 /bin/bash

如圖所示

這樣我們就進入了容器內部,然後執行下面的命令:

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"

 在範例中的命令如下:

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P P@ssw0rd,

如果成功,應會顯示 sqlcmd 命令提示字元:1>

如圖所示

執行下面的命令,查詢資料

select name from sys.Databases

如圖所示

可以查詢出結果。

我們通過命令的方式建立資料庫,然後建立表,並插入一些資料。

5、使用SSMS登入SQL Server資料庫

上面我們是直接使用命令的方式運算元據庫,我們還可以使用Microsoft SQL Server Management Studio(SSMS)進行登入Docker裡面的資料庫,然後通過圖形化介面的方式運算元據庫

使用SSMS連線Linux上的SQL Server參考微軟官方檔案:https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-manage-ssms?view=sql-server-2017

登入成功以後我們查詢資料,如圖所示

我們往student表裡面插入一條資料

我們在Docker裡面檢視,看看資料有沒有變化

我們看到docker裡面的資料也發生了變化。 使用SSMS運算元據庫就跟在docker裡面使用命令直接運算元據庫一樣。

三、總結

上面簡單介紹了一下如何在Linux系統上通過Docker安裝SQL Server資料庫,安裝好了以後,我們就可以使用SSMS操作Docker裡面的資料庫了,就跟在Windows上面安裝的SQL Server操作一樣了。更多內容可以參考微軟官網檔案:

https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-docker?view=sql-server-2017&pivots=cs1-bash

到此這篇關於Linux系統通過Docker安裝SQL Server資料庫的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com