這是一篇將 mssql 容器化的教學文。
在 Mac 上使用 MSSQL ,您可以有另一種選擇。
摁?搖光?
是瑤光?
不是,親愛的。
這裡的搖光是指 Fluctlight。
本篇較為精簡,以下是本篇的小建議:
- 聽過 Mac
- 聽過 Terminal
- 聽過 Docker
- 聽過 DataBase
- 聽過 SAO
目錄
前言
寫這篇的動機是因為先前文章,有人發問關於 MSSQL 的問題,
由於筆者的環境目前是 Mac,因此踏上了安裝的旅程惹 ORZ。
一、安裝 Docker
安裝方法有兩種,個人建議用 brew 最快。
1.1 安裝
1.1.1 從官方網站安裝
下載網址:Docker Community Edition for Mac
1.1.2 從 Homebrew 安裝
brew cask install docker
1.2 記憶體配置
SQL Server 最低需求配置為 3.25 GB,
因此我們需要增加容器配置的記憶體。
選擇 Preferences...
切換到 Advanced,將 Memory 增加至 4GB。
二、安裝 MSSQL
這邊我們不需要到微軟官方下載 MSSQL,
我們改到 docker store 上,可以找到 Microsoft SQL Server,
只要將 image 下載來使用即可。
2.1 下載 Image
利用 docker pull 就可將該映像檔下載,namespace 為 microsoft/mssql-server-linux 。
下載映像檔。
docker pull microsoft/mssql-server-linux
2.2 查看 Image
下載完畢後,利用 docker images 可以查看本地擁有的映像檔。
docker images
所以檔案在哪?我真的很擔心怎麼辦?
docker inspect [IMAGE ID | REPOSITORY]
# docker inspect 4095d6d460cd
# docker inspect microsoft/mssql-server-linux
參考連結:Where are images stored on Mac OS X?
2.3 運行 Image
接著我們將利用剛剛的映像檔建立一個虛擬容器,並且在背景中運行。
docker run -d --name sql_server_demo -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=reallyStrongPwd123' -p 1433:1433 microsoft/mssql-server-linux
# 我是閱讀好幫手
- -d:表示該指令將於背景中運行,如果沒使用,你的終端機會整個卡住。
- --name:sql_server_demo 為自訂的別名,當要指某個容器時,除了ID、也可以使用這個別名。
- -e 'ACCEPT_EULA=Y':授權條款同意書 ( Y ),詳細可至「MICROSOFT 軟體授權條款」查看。
- -e 'SA_PASSWORD=reallyStrongPwd123':指派預設帳號 sa 的密碼,務必注意規範「密碼原則」。
- -p 1433:1433:-p [本地] [容器],本地 ( Mac ) 的 1433 對應到容器中 1433 的 port。 ( MSSQL 預設 1433 )
- microsoft/mssql-server-linux:要使用的映像檔名稱。
2.4 查看已建立的容器
利用 docker ps 查看執行中的容器。
docker ps -a
- -a:將所有容器顯示,包含未啟動的。
運行成功的話,STATUS 應該會顯示建立時間點。
2.5 如何停止容器運作
如果您要停止服務,即停止容器運作,利用 docker stop 即可。
docker stop sql_server_demo
- sql_server_demo:這是容器的別名 NAME,你也可以使用 CONTAINER ID。
2.6 如何啟動容器
參照 2.5 的步驟,如果停止了,只要使用 docker start 就可以啟動。
docker start sql_server_demo
- sql_server_demo:這是容器的別名 NAME,你也可以使用 CONTAINER ID。
2.7 如何刪除容器
如果想要刪除容器,請記得先停止容器!
利用 docker rm 指令,就可以刪除。
docker rm sql_server_demo
- sql_server_demo:這是容器的別名 NAME,你也可以使用 CONTAINER ID。
2.8 如何刪除映像檔
剛剛下載的映像檔,使用 docker rmi 指令就可以刪除它。
docker rmi microsoft/mssql-server-linux
三、安裝 sql-cli
本範例將使用 node.js 的 sql-cli 進行操作示意。
安裝 sql-cli 套件。
npm install -g sql-cli
接著試著連線看看。
mssql -u sa -p reallyStrongPwd123
- -u:使用者名稱。
- -p:密碼。
如果出現該畫面,就表示成功囉!
試試軟體版本查詢。
select @@version
試著建立資料庫。
CREATE DATABASE test
試著查詢現有資料庫。
.databases
四、介紹 GUI
在這邊,原諒筆者偷懶了 ...
有很多工具都很好用,端看看讀者們喜歡哪一種,
以下分享好用的圖形化介面工具。
DBeaver Community ( 免費 )
SQL Operations Studio ( 免費 )
安裝與操作方法 ...
抽牌!
搖出來了嗎?
×. 參考資料
- How to Install SQL Server on a Mac
- DBeaver Community
- SQL Operations Studio
- macOS 安装 Docker
- Where are images stored on Mac OS X?
- Docker Community Edition for Mac
- What is SQL Operations Studio (SQLOPS)?
有勘誤之處,不吝指教。ob'_'ov