Instalar Serviços de Machine Learning do SQL Server (Python e R) em Docker

Aplica-se a: SQL Server 2019 (15.x) em Linux

Este artigo explica como instalar dos Serviços de Aprendizado de Máquina do SQL Server no Docker. Você pode usar os Serviços de Aprendizado de Máquina para executar scripts Python e R no banco de dados. Não fornecemos contêineres pré-construídos com Serviços de Machine Learning. Você pode criar um a partir dos contêineres do SQL Server usando um modelo de exemplo disponível no GitHub.

Pré-requisitos

  • Interface de linha de comando Git.

  • Docker Engine 1.8+ em qualquer distribuição Linux suportada. Para obter mais informações, consulte Obtenha Docker. Os contentores do SQL Server não são suportados no Windows ou macOS para uso em produção.

  • Consulte também os requisitos de sistema para o SQL Server no Linux.

Clone o repositório mssql-docker

O comando seguinte clona o mssql-docker repositório Git para um diretório local.

  1. Abre um terminal Bash no Linux ou macOS.

  2. Muda para o diretório onde queres criar o repositório local mssql-docker .

  3. Execute o comando Git clone para clonar o mssql-docker repositório:

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

Construir e executar uma imagem de contentor Linux do SQL Server

Complete os seguintes passos para construir e executar a imagem Docker:

  1. Altere o diretório para o diretório mssql-mlservices:

    cd mssql-docker/linux/preview/examples/mssql-mlservices
    
  2. No mesmo diretório, execute o seguinte comando:

    docker build -t mssql-server-mlservices .
    

    Note

    Para construir a imagem Docker, tens de instalar pacotes com vários GB de tamanho. O script pode levar algum tempo para concluir a execução, dependendo da largura de banda da rede.

  3. Iniciar o contêiner:

    Importante

    A variável de ambiente SA_PASSWORD foi preterida. Utilize MSSQL_SA_PASSWORD em substituição.

    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
    

    Note

    Qualquer um dos valores suportados pode ser usado para MSSQL_PID. Se utilizar uma edição paga, certifique-se de que adquiriu uma licença. Substitua <password> pela sua senha real. A montagem de volume usando -v é opcional. Substitua <directory on the host OS> por um diretório real onde você deseja montar os dados do banco de dados e os arquivos de log.

Verifique o contentor Linux do SQL Server

docker ps -a

Executar a imagem de contêiner do SQL Server Linux

  1. Defina as variáveis de ambiente antes de executar o contêiner. Defina a variável de ambiente PATH_TO_MSSQL para um diretório host:

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

    Note

    O processo para executar edições de produção do SQL Server em contêineres é ligeiramente diferente. Para obter mais informações, consulte Implantar e conectar-se a contêineres Linux do SQL Server. Se você usar os mesmos nomes de contêiner e portas, o restante deste passo a passo ainda funcionará com contêineres de produção.

  2. Para exibir seus contêineres, execute o comando docker ps:

    sudo docker ps -a
    
  3. Se a coluna STATUS mostrar um status de Up, o SQL Server está sendo executado no contêiner e escutando na porta especificada na coluna PORTS. Se a coluna STATUS do contentor do SQL Server mostrar Encerrado, consulte a secção Resolução de Problemas dos Contentores do SQL Server no Docker.

    Output:

    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 Serviços de Aprendizado de Máquina

Para ativar Machine Learning Services, ligue-se à sua instância de SQL Server e execute a seguinte declaração Transact-SQL:

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