Share via


Instalación de SQL Server Machine Learning Services (Python y R) en Docker

Se aplica a: SQL Server 2019 (15.x): Linux

En este artículo se explica cómo instalar SQL Server Machine Learning Services en Docker. Puede usar Machine Learning Services para ejecutar scripts de Python y R en la base de datos. No se proporcionan contenedores generados previamente con Machine Learning Services. Puede crear uno a partir de los contenedores de SQL Server mediante una plantilla de ejemplo disponible en GitHub.

Requisitos previos

  • Interfaz de la línea de comandos de Git.

  • Motor de Docker 1.8 o versiones posteriores en cualquier distribución de Linux admitida. Para más información, vea Get Docker (Obtención de Docker). No se admite SQL Server en contenedores en Windows o macOS para su uso en producción.

  • Vea también los requisitos del sistema para SQL Server en Linux.

Clonación del repositorio mssql-docker

El comando siguiente clona el repositorio git mssql-docker en un directorio local.

  1. Abra un terminal de Bash en Linux o Mac.

  2. Cree un directorio para almacenar una copia local del repositorio mssql-docker.

  3. Ejecute el comando git clone para clonar el repositorio mssql-docker:

    git clone https://github.com/microsoft/mssql-docker mssql-docker
    

Compilación de una imagen de contenedor de Linux de SQL Server

Complete los pasos siguientes para compilar la imagen de Docker:

  1. Cambie el directorio al directorio mssql-mlservices:

    /mssql-docker/linux/preview/examples/mssql-mlservices
    
  2. En el mismo directorio, ejecute el comando siguiente:

    docker build -t mssql-server-mlservices .
    
  3. Ejecute el comando:

    Importante

    La variable de entorno SA_PASSWORD está en desuso. En su lugar, use 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
    

    Nota:

    Para MSSQL_PID se pueden usar cualquiera de los valores siguientes: Desarrollador (gratis), Express (gratis), Enterprise (de pago), Estándar (de pago). Si va a usar una edición de pago, asegúrese de que ha comprado una licencia. Reemplace (contraseña) por la contraseña real. El montaje de volúmenes con -v es opcional. Reemplace (directorio en el sistema operativo del host) por un directorio real en el que quiera montar los archivos de datos y de registro de la base de datos.

  4. Ejecute el comando siguiente para confirmarlo:

    docker ps -a
    

    Nota:

    Para compilar la imagen de Docker, debe instalar paquetes de varios GB de tamaño. El script puede tardar algún tiempo en terminar de ejecutarse, en función del ancho de banda de red.

Ejecución de la imagen de contenedor de SQL Server para Linux

  1. Establezca las variables de entorno antes de ejecutar el contenedor. Establezca la variable de entorno PATH_TO_MSSQL en un directorio host:

    export MSSQL_PID='Developer'
    export ACCEPT_EULA='Y'
    export ACCEPT_EULA_ML='Y'
    export PATH_TO_MSSQL='/home/mssql/'
    

    Nota:

    El proceso para ejecutar ediciones de producción de SQL Server en contenedores es ligeramente diferente. Para obtener más información, consulte Configuración de imágenes de contenedor de SQL Server en Docker. Si usa los mismos nombres y puertos de contenedor, el resto de este tutorial funciona con los contenedores de producción.

  2. Para ver los contenedores, ejecute el comando docker ps:

    sudo docker ps -a
    
  3. Si la columna ESTADO muestra el estado Activo, SQL Server se está ejecutando en el contenedor y está escuchando en el puerto especificado en la columna PUERTOS. Si la columna ESTADO de su contenedor de SQL Server muestra Cerrado, consulte la sección Solución de problemas de la guía de configuración.

    Salida:

    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
    

Habilitar Machine Learning Services

Para habilitar Machine Learning Services, conéctese a la instancia de SQL Server y ejecute la siguiente instrucción de T-SQL:

EXEC sp_configure  'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE

Los desarrolladores de Python pueden aprender a usar Python con SQL Server con estos tutoriales:

Los desarrolladores de R pueden empezar con algunos ejemplos sencillos y conocer los aspectos básicos del funcionamiento de R con SQL Server. Para conocer el siguiente paso, vea los vínculos siguientes: