在 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。
克隆 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(免费)、Express(免费)、Enteprise(付费)、Standard(付费)。 如果使用付费版,请确保已购买许可证。 将(密码)替换为实际密码。 使用 -v 的卷装载是可选的。 将(主机操作系统上的目录)替换为要在其中装载数据库数据和日志文件的实际目录。
通过运行以下命令进行确认:
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 生产版本的过程略有不同。 有关详细信息,请参阅 在 Docker 上配置 SQL Server 容器映像。 如果使用相同的容器名称和端口,本教程的其余部分仍适用于生产容器。
若要查看容器,请运行
docker ps
命令:sudo docker ps -a
如果“状态”列显示“正常运行”状态,表明 SQL Server 正在容器中运行,且正在侦听“端口”列中指定的端口。 如果 SQL Server 容器的“状态”列显示“已退出”,则参阅配置指南的疑难解答部分 。
输出:
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 协同工作的基础知识。 有关下一步,请参阅以下链接: