現在.net core已經跨平臺了,大家也都用上了linux用上了docker。跟.net經常配套使用的SQL SERVER以前一直是windows only,但是從SQL Server 2017開始已經支持運行在docker上,也就說現在SQL Serer已經可以運行在linux下了。 下麵在Ub ...
現在.net core已經跨平臺了,大家也都用上了linux用上了docker。跟.net經常配套使用的SQL SERVER以前一直是windows only,但是從SQL Server 2017開始已經支持運行在docker上,也就說現在SQL Serer已經可以運行在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參數指定了sqlserver2019_data目錄掛載到容器的/var/opt/mssql目錄,這個目錄是用來存儲資料庫文件的,所以最好掛載到外容器外部,避免因為不小心刪除容器而丟失數據
sudo docker ps -a
使用docker ps 命令查看容器運行情況,可以看到sqlserver2019正在運行
使用命令行連接SQL Server
sudo docker exec -it sqlserver2019 "bash"
使用docker exec命令登錄到容器內部執行命令
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "dev@123,"
在容器內部執行命令,打開sqlcmd
打開sqlcmd之後我們就可以進行一些資料庫的操作了,比如創建資料庫,創建表,查詢數據等。
CREATE DATABASE TEST_DB
GO
USE TEST_DB
GO
CREATE TABLE Table1 (ID INT, NAME NVARCHAR(50))
GO
Insert Into Table1 Values (0, 'agile')
創建TEST_DB資料庫;創建表Table1;插入一行數據;查詢表數據
我們使用docker運行的SQL Server同樣可以使用Sql Server Management Studio來管理。
使用伺服器ip加埠連接成功後,可以看到剛纔新建的資料庫TEST_DB跟表TABLE1還有裡面的數據都在。能使用SSMS管理後就簡單多了跟使用SQL Server其他版本沒啥區別。
至此SQL Server in Docker的基本操作演示的差不多了,還有更多的高級功能比如配置故障轉移集群,複製訂閱,Always On等功能跟windows環境配置還有點區別大家可以自己嘗試一下。