環境:
- Ubuntu Linux 2022
- Docker CE 23.0.1
Docker 映像檔:
- mcr.microsoft.com/mssql/server:2022-latest
操作:
- 下載 SQL Server 2022 Image
$ docker pull mcr.microsoft.com/mssql/server:2022-latest - 執行容器(指定參數)
$ docker run \
-e "ACCEPT_EULA=Y" \
-e "MSSQL_SA_PASSWORD=<YourStrong@Passw0rd>" \
-p 1433:1433 --name sql1 --hostname sql1 \
-d \
mcr.microsoft.com/mssql/server:2022-latest - 檢查容器執行狀態
$ docker ps - 安裝成功後,可下載或利用 chocolatey 來安裝 Sql Studio Management Studio
c:\> choco install sql-server-management-studio - 連線至 SQL Server 容器
容器執行參數說明:
- -e ACCEPT_EULA=Y 同意使用者授權合約
- -e MSSQL_SA_PASSWORD=<YourStrong@Passw0rd> 設定 SQL Server 最高管理員 sa 的密碼
- --name sql1 設定容器名稱
- --hostname sql1 設定容器主機名稱
- -p 1433: 1433 設定 port 的對應
- -d 設定容器以背景模式執行
- mcr.microsoft.com/mssql/server:2022-latest SQL Server 映像檔來源與名稱
進階:
1. 掛載 volume 保存資料庫內容
- host 建立掛載的目錄
$ mkdir data_mssql - 【必須】設定該目錄擁有者, 預設owner id 為 10001
$ sudo chown -R 10001 data_mssql - 停止、刪除容器後,加上掛載 volume 參數後重新啟動容器
$ docker run \
-e "ACCEPT_EULA=Y" \
-e "MSSQL_SA_PASSWORD=<YourStrong@Passw0rd>" \
-p 1433:1433 --name sql1 --hostname sql1 \
-v ./data_mssql:/var/opt/mssql
-d \
mcr.microsoft.com/mssql/server:2022-latest
2. 利用 docker-compose 執行容器
1. 建立 docker-compose.yml 檔案,內容如下:
version: '3.5' services: mssql: image: mcr.microsoft.com/mssql/server:2022-latest restart: always ports: - 1433:1433 volumes: - ./data_mssql:/var/opt/mssql environment: - ACCEPT_EULA=Y - SA_PASSWORD=PutYourPassword - MSSQL_PID=Express
2. 執行
$ docker-compose up -d