Docker安裝MS SQL Server並使用Navicat遠程連接

MS SQL Server簡介

  Microsoft SQL Server(簡稱SQL Server)是由微軟公司開發的關係數據庫管理系統,它是一個功能強大、性能卓越的企業級數據庫平臺,用於存儲和處理大型數據集、支持高效查詢和分析等操作。SQL Server 支持廣泛的應用程序開發接口(API),包括 T-SQL、ADO.NET、ODBC、OLE DB 等,並支持多種操作系統,包括 Windows、Linux 和 Docker 等。SQL Server 包含許多高級功能和組件,如數據倉庫、分析服務、報告服務、全文搜索等,可爲企業提供全面的數據管理和分析解決方案。

基於Ubuntu的Microsoft SQL Server官方鏡像

mssql-server Docker hub:https://hub.docker.com/_/microsoft-mssql-server

拉取Microsoft SQL Server 2022容器鏡像

sudo docker pull mcr.microsoft.com/mssql/server:2022-latest

驗證mssql鏡像是否成功拉取到本地

使用以下命令來查看mssql鏡像是否成功拉取到本地:

docker images

創建並運行一個mssql容器

使用以下命令啓動容器(Docker 鏡像啓動後,將會自動啓動 SQL Server),其中 sa123456 爲 SQL Server sa 用戶的密碼:

這個命令的含義是在 Docker 中以後臺模式 (-d) 運行 Microsoft SQL Server 2022 的最新版本 (mcr.microsoft.com/mssql/server:2022-latest) 鏡像,並將容器命名爲 mssql2022 (--name mssql2022)。同時,通過 -p 1433:1433 參數將容器的 1433 端口映射到主機的 1433 端口上,使得可以通過主機的 1433 端口訪問 SQL Server。在容器啓動過程中,需要設置兩個環境變量:

ACCEPT_EULA=Y 表示接受使用條款。
MSSQL_SA_PASSWORD=Y.sa123456 表示設置 SA 用戶的密碼爲 "Y.sa123456"[注意密碼一點要嚴格設置不然有坑]。

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Y.sa123456" -p 1433:1433 --name mssql2022 -d mcr.microsoft.com/mssql/server:2022-latest

注意大坑使用Docker部署Sql Server容器後過幾秒就停止了

SA_PASSWORD=Y.sa123456 爲密碼,要求是最少8位的強密碼,要有大寫字母,小寫字母,數字以及特殊符號,不然會有一個大坑(Docker啓動Sql Server容器後過幾秒就停止了)。

驗證容器是否創建成功

docker ps

如果使用docker ps查看不到在使用docker ps -a查看,如果docker ps -a可以查看到那就說明容器沒有啓動需要使用docker start name來啓動容器!

設置 Docker 主機防火牆規則

默認情況下,Docker 帶有一個內置的防火牆,需要開放 1433 端口才能讓外部訪問 SQL Server。使用以下命令開放 Docker 主機的 1433 端口:

sudo ufw allow 1433/tcp

重啓防火牆,注意重啓防火牆之後纔會生效。

sudo ufw reload

服務器防火牆配置1433的開放端口

Navicat遠程連接

參考文章

使用 Docker 運行 SQL Server Linux 容器映像

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章