[Windows Container] SQL Server
好一陣子沒玩Windows Container,今天剛好看到一篇介紹如何使用SQL Server Containers,除了跟著玩一篇,
也由於電腦重灌,順便將整個從頭到尾的安裝過程再跑一次。
1.Install Windows Container
打開Power Shell,執行如下
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Enable-WindowsOptionalFeature -Online -FeatureName containers -All
2.Install Dock
有2種方式
1.參考官方教學的第二點,使用指令安裝
https://docs.microsoft.com/zh-tw/virtualization/windowscontainers/quick-start/quick-start-windows-10
*2.直接安裝Dock for Windows(本文使用此方式)
裝完後,在圖示按右鍵切換至Windows Container
關於Dock for Windows參考如下:
3.安裝SQL Server Container
docker pullmicrosoft/mssql-server-windows
建立container
建立container名稱為 SQTest,並將本機的d:/Temp/Database 對應到 Container的c:/DB/ 作為匯入備份檔用
docker run -it --name SQLTest -d -p 1433:1433 -e sa_password=kim123 -e ACCEPT_EULA=Y -v D:/Temp/Database/:c:/DB/ microsoft/mssql-server-windows
上方命令若知道NAT ip範圍,可以在啟動時指定ip,如下:
docker run -it --name SQLTest --ip 172.25.171.182 -d -p 1433:1433 -e sa_password=kim123 -e ACCEPT_EULA=Y -v D:/Temp/Database/:c:/DB/ microsoft/mssql-server-windows
補充:查詢預設NAT網路設定
docker inspect nat
若你跟我一樣,不會Subnet 計算ip範圍,可以到下方連結計算。
匯入備份檔backup.bak
docker exec SQLTest SqlCmd -E -S 172.25.171.182 -Q "RESTORE DATABASE [UnderBingo] FROM DISK = N'C:\db\UnderBingo.bak' WITH FILE = 1
, MOVE N'UnderBingo' TO N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\UnderBingo.mdf'
, MOVE N'UnderBingo_log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\UnderBingo_log.ldf'
, NOUNLOAD, STATS = 5"
匯入後,打開SSMS連線SQL Container
參考來源