在 Ubuntu 安裝 SQL Server 資料庫
大约 2 分鐘
安裝 SQL Server Linux
- 目前 Ubuntu 22.04 無法直接安裝 SQL Server
- 目前 Ubuntu 20.04 可以直接安裝 SQL Server
- 可以使用 docker 的方案來安裝
安裝 docker
取得映像檔案
sudo docker pull mcr.microsoft.com/mssql/server:2022-latest
以 Docker 執行 Linux 容器映像
正式版本
sudo docker run \
-e "ACCEPT_EULA=Y" \
-e "MSSQL_SA_PASSWORD=<YourStrong@Passw0rd>" \
-p 1433:1433 --name sql_server --hostname sql_server \
-d \
mcr.microsoft.com/mssql/server:2022-latest
Express 版本
sudo docker run \
-e "ACCEPT_EULA=Y" \
-e "MSSQL_SA_PASSWORD=<YourStrong@Passw0rd>" \
-e "MSSQL_PID=Express" \
-p 1433:1433 --name sql_server --hostname sql_server \
-d \
mcr.microsoft.com/mssql/server:2022-latest
指定資料磁碟區容器
sudo docker run \
-e "ACCEPT_EULA=Y" \
-e "MSSQL_SA_PASSWORD=<YourStrong@Passw0rd>" \
-e "MSSQL_PID=Express" \
-p 1433:1433 --name sql_server --hostname sql_server \
-v sql_server_volume:/var/opt/mssql \
-d \
mcr.microsoft.com/mssql/server:2022-latest
- -e ACCEPT_EULA=Y : 將
ACCEPT_EULA
變數設為任意值可確認您接受終端使用者授權合約。 此為 SQL Server 映像的必要設定。 - -e "MSSQL_SA_PASSWORD:指定您自己的強式密碼,該密碼長度至少需為 8 個字元且符合 SQL Server 密碼需求。 此為 SQL Server 映像的必要設定。
- -p 1433:1433 :將主機環境上的 TCP 連接埠 (第一個值) 對應至容器中的 TCP 連接埠 (第二個值)。 在本範例中,SQL Server 正在接聽容器中的 TCP 1433,且此容器連接埠接著會對主機上的 TCP 連接埠 1433 公開。
- --name:為容器指定自訂名稱
- --hostname:用來明確設定容器主機名稱。 如果您未指定主機名稱,則會預設為隨機產生之系統 GUID 的容器識別碼。
- -v:指定資料磁碟區容器
- -d:在背景執行容器 (精靈)
- mcr.microsoft.com/mssql/server:2022-latest:SQL Server Linux 容器映像。
Docker Compose For SQL Server Linux
version: "3.8"
# sudo docker-compose up -d
services:
sql-server-2022:
image: mcr.microsoft.com/mssql/server:2022-latest
restart: always
container_name: sql-server-2022
ports:
- 1433:1433
volumes:
- sql_server_volume:/var/opt/mssql/
environment:
- ACCEPT_EULA=Y
- SA_PASSWORD=mypassword
- MSSQL_PID=Express
network_mode: "bridge"
volumes:
sql_server_volume:
external: true