最近切回windows來建立環境
結果發現sql server 忘了密碼
還好沒有甚麼重要的東西
外加上硬碟空間不太夠
所以決定把SQL Server砍掉 建立一個container吧
os version : win 10 professional
記得先到Docker HUB註冊一個帳號
註冊好了之後下載Docker Desktop for Windows
在下載的期間 請到"控制台\程式集\程式和功能" 點選"開啟或關閉Windows功能"
把Hyper-V都打勾起來 確認剛剛的下載完畢 這個也安裝完畢後就重開機吧
重新回到了windows 先把docker for windows destop安裝起來
安裝好了以後才有辦法再命令提示字元直接使用docker指令哦!
第一步 尋找image : docker search
docker search mssql
因為我是要省硬碟空間 所以我選擇了microsoft/mssql-server-linux
注意如果你選到的是windows表示mssql是安裝在windows裡面的image 通常很佔空間
而且語法會跟我之後寫得不太依樣哦! 畢竟我下的語法就會是bash不是cmd
第二步 pull image : docker pull
docker pull microsoft/mssql-server-linux
image 不大應該很快就下載好囉!
第三步 查看image:docker images
docker images
你可能會跟我說 也是很大啊1.35G 恩...改天你裝裝看windows版的就知道惹..
第四步 建立Container:docker run (為了方便閱讀下面的程式碼有換行 要貼到命令提示字元前請把換行刪除哦!)
docker run -e "ACCEPT_EULA=Y"
-e "MSSQL_SA_PASSWORD=需要輸入一個超級困難的密碼"
-p 1433:1433
--name 輸入你的container名稱(當然是要英文來者)
-d microsoft/mssql-server-linux
- -e ACCEPT_EULA=Y : 設定環境中授權條款同意書 ( Y )
- -e "MSSQL_SA_PASSWORD:需要輸入一個超級困難的密碼" : 請輸入一個Really Strong PWD
- -p 1433:1433 :設定連線阜號,那為什麼有兩個呢?因為第一個是你本機的另外一個是Container的
- --name:輸入你的containder名稱啦!!!
- -d microsoft/mssql-server-linux:-d 是run container background 好了之後show container ID給我就好的意思 後面的就是IMAGE名稱啦
第五步 查看Container:docker ps
docker ps
恩..我知道排版不是很好看...
第六步 執行Command在一個執行中的Container:docker exec
docker exec -it 你的Containder名稱 bash
- -i : 開啟互動介面
- -t:建立一個偽終端機
bash 是因為在linux系統 如果要在windows 應該是cmd
看到root@開頭表示進來啦!!
第七步 新增sqlcmd到環境變數(PATH)中
有兩種方式:
- 新增sqlcmd到一個需要登入的session到Path中
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
- 新增sqlcmd到一個不需要登入的session到Path中
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
我是採用第2種
第8步 使用sqlcmd連線到sqlserver
sqlcmd -S localhost -U SA -P '<YourPassword>'
要離開的話 輸入exit就可以囉!
第9步 使用SSMS連線到sqlserver
看到這裡就成功囉!
其他比較常見的docker功能 改天再分享吧!
以上如有繆誤 請多多指教
資料來源:
docker doc:https://docs.docker.com/
MSDN doc:https://docs.microsoft.com/zh-tw/sql/linux/sql-server-linux-configure-docker?view=sql-server-ver15
-----------------------------------------
有時在會走之前你就得跑
你不解決問題 就等問題解決你