現(xiàn)在.net core已經(jīng)跨平臺了,大家也都用上了linux用上了docker。跟.net經(jīng)常配套使用的SQL SERVER以前一直是windows only,但是從SQL Server 2017開始已經(jīng)支持運行在docker上,也就說現(xiàn)在SQL Serer已經(jīng)可以運行在linux下了。
下面在Ubuntu 16.4上演示安裝并使用SQL Server 2019-CTP3.2
SQL Server in Docker
sudo docker pull mcr.microsoft.com/mssql/server:2019-CTP3.2-ubuntu
使用docker pull命令從docker hub拉取sqlserver 2019-ctp3.2的鏡像

sudo mkdir /hd2/sqlserver2019_data
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=dev@123," -p 14330:1433 --name sqlserver2019 -v /hd2/sqlserver2019_data:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2019-CTP3.2-ubuntu
使用docker run 命令啟動容器,其中要注意的是使用-v參數(shù)指定了sqlserver2019_data目錄掛載到容器的/var/opt/mssql目錄,這個目錄是用來存儲數(shù)據(jù)庫文件的,所以最好掛載到外容器外部,避免因為不小心刪除容器而丟失數(shù)據(jù)

使用docker ps 命令查看容器運行情況,可以看到sqlserver2019正在運行

使用命令行連接SQL Server
sudo docker exec -it sqlserver2019 "bash"
使用docker exec命令登錄到容器內(nèi)部執(zhí)行命令
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P dev@123,
在容器內(nèi)部執(zhí)行命令,打開sqlcmd
打開sqlcmd之后我們就可以進行一些數(shù)據(jù)庫的操作了,比如創(chuàng)建數(shù)據(jù)庫,創(chuàng)建表,查詢數(shù)據(jù)等。
CREATE DATABASE TEST_DB
GO
USE TEST_DB
GO
CREATE TABLE Table1 (ID INT, NAME NVARCHAR(50))
GO
Insert Into Table1 Values (0, 'agile')
創(chuàng)建TEST_DB數(shù)據(jù)庫;創(chuàng)建表Table1;插入一行數(shù)據(jù);查詢表數(shù)據(jù)

我們使用docker運行的SQL Server同樣可以使用Sql Server Management Studio來管理。

使用服務器ip加端口連接成功后,可以看到剛才新建的數(shù)據(jù)庫TEST_DB跟表TABLE1還有里面的數(shù)據(jù)都在。能使用SSMS管理后就簡單多了跟使用SQL Server其他版本沒啥區(qū)別。

至此SQL Server in Docker的基本操作演示的差不多了,還有更多的高級功能比如配置故障轉移集群,復制訂閱,Always On等功能跟windows環(huán)境配置還有點區(qū)別大家可以自己嘗試一下。
到此這篇關于使用Docker運行SQL Server的實現(xiàn)的文章就介紹到這了,更多相關Docker運行SQL Server內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
作者:Agile.Zhou(kklldog)
出處:http://www.cnblogs.com/kklldog/