适用于: SQL Server 2019 (15.x) - Linux
本文介绍如何在 Docker 上安装 SQL Server 机器学习服务。 可使用机器学习服务在数据库中执行 Python 和 R 脚本。 我们不向机器学习服务提供预建容器。 你可以使用 GitHub 上的可用示例模板在 SQL Server 容器中创建一个。
先决条件
Git 命令行接口。
任何受支持的 Linux 发行版上的 Docker 引擎 1.8 及更高版本。 有关详细信息,请参阅了解 Docker。 Windows 或 macOS 不支持容器中的 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:开发人员(免费)、快速(免费)、企业版(付费)、标准(付费)。 如果使用付费版本,请确保已购买许可证。 将
<password>替换为您的实际密码。 使用-v的卷装载是可选的。 将<directory on the host OS>替换为您希望用来装载数据库数据和日志文件的实际目录。通过运行以下命令进行确认:
docker ps -a注意
必须安装几个 GB 大小的包,才能生成 Docker 映像。 此脚本可能需要一段时间才能完成运行,具体视网络带宽而定。
运行 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 生产版本的过程略有不同。 有关详细信息,请参阅部署并连接到 SQL Server Linux 容器。 如果使用相同的容器名称和端口,本教程的其余部分仍适用于生产容器。
若要查看容器,请运行
docker ps命令:sudo docker ps -a如果状态列显示正常运行状态,表明 SQL Server 正在容器中运行,且正在侦听端口列中指定的端口。 如果 SQL Server 容器的 STATUS 列显示 “已退出”,请参阅 SQL Server Docker 容器疑难解答。
输出:
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 语句:
EXECUTE sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE;