利用Docker Desktop on Windows建立MS SQL Server Container

公司筆電因為權限問題,安裝MS SQL時都會一直報錯,無法安裝,但有些功能還是MS SQL使用比較習慣。

後來決定自己在VirtualBox上架個Linux的VM(不選Windows是因為不想花錢買序號)在裡面架設MS SQL SERVER,但步驟又有點複雜,且架好之後,本機又會連線不到VM環境的SQL SERVER,也沒那麼多時間去研究環境問題,於是就放棄了。

後來又在Azure上架了一台MS SQL Server,雖然步驟不複雜,也可以成功連線,但試用期過後每個月都要扣錢,對於只是用來做些測試功能的我來說,實在是不划算。

後來想說自己也沒有接觸過Docker這個東西,就趁這個機會,架了一個SQL SERVER服務,結果也能成功連線,就順便把整個過程記錄下來。

下載Docker Desktop on window

Step 1. 下載Docker Desktop on window

相關安裝流程可以參考參考連結1.


Step 2. 安裝WSL2

Docker Desktop安裝完成後,會要你也更新WSL。簡單來說這個)子OS,我是選擇安裝ubuntu 20.04 TSL。詳細安裝流程可以參考連結


Step 3. pull Image & 查詢Image
到Docker Hub找到sqlserver的image,並pull下來。我在Docker Hub搜尋mssql都找不到Microsoft官方的image,後來直接用谷歌[docker mssql image]就有了。
相關連結:https://hub.docker.com/_/microsoft-mssql-server

網頁裡會有pull cmd讓你複製

我也順便附上cmd

docker pull mcr.microsoft.com/mssql/server

拉下來後,可以查詢Image

docker images

Step 4.建立Container
把image拉下來後,就可以開始建立Container了。相關的cmd,sqlserver Docker Hub的網頁裡面也有。不同的版本cmd也會不一樣!!!

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=[你的密碼]" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest

建立Container後查詢Container

docker ps

發現預設的cmd好像沒有指定Container的名字,會給一個預設值wonderful_golick。但我想自己命名阿~於是就想說順便練習一下如何刪除Container吧。

想要自己命名Container名稱的可以參考下面的cmd。

 docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=[你的密碼]" -p 1433:1433 --name [Container name] -d mcr.microsoft.com/mssql/server:2019-latest

Step 4.1. 刪除Container (不想重做Container可以跳過) 

建立Container先停止運行中的Container

docker stop [Container ID]

刪除Container

docer rm [Container ID]

重新查詢一次Container,目前已經沒有了


Step 5. 使用SSMS測試連線

連線成功了

 

 

Reference:
1.[Docker]建立一個 Sql Server container
2.[Docker]初體驗!使用Docker建立SQL Server On Linux
3.DOCKER 基本指令 – 停止、移除 DOCKER CONTAINER 和 IMAGE
4.Docker Hub_MSSQL Image下載