現(xiàn)在.net core已經(jīng)跨平臺(tái)了,大家也都用上了linux用上了docker。跟.net經(jīng)常配套使用的SQL SERVER以前一直是windows only,但是從SQL Server 2017開始已經(jīng)支持運(yùn)行在docker上,也就說現(xiàn)在SQL Serer已經(jīng)可以運(yùn)行在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 命令啟動(dòng)容器,其中要注意的是使用-v參數(shù)指定了sqlserver2019_data目錄掛載到容器的/var/opt/mssql目錄,這個(gè)目錄是用來存儲(chǔ)數(shù)據(jù)庫文件的,所以最好掛載到外容器外部,避免因?yàn)椴恍⌒膭h除容器而丟失數(shù)據(jù)
使用docker ps 命令查看容器運(yùn)行情況,可以看到sqlserver2019正在運(yùn)行
使用命令行連接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之后我們就可以進(jìn)行一些數(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運(yùn)行的SQL Server同樣可以使用Sql Server Management Studio來管理。
使用服務(wù)器ip加端口連接成功后,可以看到剛才新建的數(shù)據(jù)庫TEST_DB跟表TABLE1還有里面的數(shù)據(jù)都在。能使用SSMS管理后就簡(jiǎn)單多了跟使用SQL Server其他版本沒啥區(qū)別。
至此SQL Server in Docker的基本操作演示的差不多了,還有更多的高級(jí)功能比如配置故障轉(zhuǎn)移集群,復(fù)制訂閱,Always On等功能跟windows環(huán)境配置還有點(diǎn)區(qū)別大家可以自己嘗試一下。
到此這篇關(guān)于使用Docker運(yùn)行SQL Server的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Docker運(yùn)行SQL Server內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
作者:Agile.Zhou(kklldog)
出處:http://www.cnblogs.com/kklldog/