在 Docker 上安裝 SQL Server 機器學習服務 (Python 與 R)
適用於:SQL Server 2019 (15.x) - Linux
本文說明如何在 Docker 上安裝 SQL Server 機器學習服務。 您可以使用機器學習服務來在資料庫中執行 Python 和 R 指令碼。 我們不會提供具有機器學習服務的預先建立容器, 但可使用 GitHub 上提供的範例範本,從 SQL Server 容器建立。
必要條件
Git 命令列介面。
任何支援的 Linux 發行版本上的 Docker 引擎 1.8 以上版本。 如需詳細資訊,請參閱取得 Docker (英文)。 Windows 或 macOS 不支援容器中的 SQL Server 在生產環境使用。
另請參閱 Linux 上的 SQL Server 系統需求。
複製 mssql-docker 存放庫
下列命令會將 mssql-docker
Git 存放庫複製到本機目錄。
開啟 Linux 或 Mac 上的 Bash 終端機。
建立目錄,以保存 mssql-docker 存放庫的本機複本。
執行 git clone 命令以複製 mssql-docker 存放庫:
git clone https://github.com/microsoft/mssql-docker mssql-docker
建置 SQL Server Linux 容器映像
完成下列步驟以建置 Docker 映像:
將目錄變更為 mssql-mlservices 目錄:
/mssql-docker/linux/preview/examples/mssql-mlservices
在相同目錄中,執行下列命令:
docker build -t mssql-server-mlservices .
執行命令:
重要
SA_PASSWORD
環境變數已被取代。 請改用MSSQL_SA_PASSWORD
。docker run -d -e MSSQL_PID=Developer -e ACCEPT_EULA=Y -e ACCEPT_EULA_ML=Y -e MSSQL_SA_PASSWORD=<password> -v <directory on the host OS>:/var/opt/mssql -p 1433:1433 mssql-server-mlservices
注意
您可針對 MSSQL_PID 使用下列任何值:Developer (free)、Express (free)、Enteprise (paid)、Standard (paid)。 如果使用付費版本,請確定已購買授權。 將 (password) 取代成實際密碼。 使用 -v 進行磁碟區掛接為選擇性。 將 (directory on the host OS) 取代成希望掛接資料庫資料和記錄檔的實際目錄。
執行下列命令以確認:
docker ps -a
注意
若要建置 Docker 映像,您必須安裝大小為數 GB 的套件。 視網路頻寬而定,指令碼可能需要一些時間才能完成執行。
執行 SQL Server Linux 容器映像
執行容器之前,請先設定您的環境變數。 將 PATH_TO_MSSQL 環境變數設定為主機目錄:
export MSSQL_PID='Developer' export ACCEPT_EULA='Y' export ACCEPT_EULA_ML='Y' export PATH_TO_MSSQL='/home/mssql/'
注意
在容器中執行生產環境 SQL Server 版本的程序會稍有不同。 如需詳細資訊,請參閱在 Docker 上設定 SQL Server 容器映像。 如果您使用相同的容器名稱和連接埠,則本逐步解說的其餘部分仍適用於生產環境容器。
若要檢視容器,請執行
docker ps
命令:sudo docker ps -a
若 STATUS 欄位顯示的狀態含 Up,表示 SQL Server 正在容器中執行且接聽於 PORTS 欄位中指定的連接埠。 若 SQL Server 容器的 STATUS 欄位顯示 Exited,請參閱設定指南的<疑難排解>一節。
輸出:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 941e1bdf8e1d mcr.microsoft.com/mssql/server/mssql-server-linux "/bin/sh -c /opt/m..." About an hour ago Up About an hour 0.0.0.0:1401->1433/tcp sql1
啟用機器學習服務
若要啟用機器學習服務,請連線至 SQL Server 執行個體並執行下列 T-SQL 陳述式:
EXEC sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE
相關內容
Python 開發人員可以遵循下列教學課程,以了解如何搭配使用 Python 與 SQL Server:
R 開發人員可以從一些簡單的範例開始,並了解 R 如何搭配 SQL Server 使用的基本概念。 如需下一個步驟,請參閱下列連結: