SQL Server Machine Learning Services (Python en R) installeren in Docker

Van toepassing op: SQL Server 2019 (15.x) op Linux

In dit artikel wordt uitgelegd hoe u SQL Server Machine Learning Services installeert in Docker. U kunt Machine Learning Services gebruiken om Python- en R-scripts in de database uit te voeren. We bieden geen vooraf gebouwde containers met Machine Learning Services. U kunt er een maken vanuit de SQL Server-containers met behulp van een voorbeeldsjabloon die beschikbaar is op GitHub.

Prerequisites

De mssql-docker-opslagplaats klonen

Het volgende commando kloont de mssql-docker Git-repository naar een lokale directory.

  1. Open een Bash-terminal op Linux of macOS.

  2. Verander naar de map waar je de lokale mssql-docker repository wilt aanmaken.

  3. Voer het Git-clone-commando uit om de mssql-docker repository te klonen:

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

Bouw en draai een SQL Server Linux containerimage

Voltooi de volgende stappen om het Docker-image te bouwen en uit te voeren:

  1. Wijzig de map in de map mssql-mlservices:

    cd mssql-docker/linux/preview/examples/mssql-mlservices
    
  2. Voer in dezelfde map de volgende opdracht uit:

    docker build -t mssql-server-mlservices .
    

    Note

    Om de Docker-image te bouwen, moet je pakketten installeren die meerdere GB groot zijn. Het uitvoeren van het script kan enige tijd duren, afhankelijk van de netwerkbandbreedte.

  3. Voer de container uit:

    Important

    De omgevingsvariabele SA_PASSWORD is afgeschaft. Gebruik in plaats daarvan 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
    

    Note

    Een van de ondersteunde waarden kan worden gebruikt voor MSSQL_PID. Als u een betaalde editie gebruikt, moet u ervoor zorgen dat u een licentie hebt gekocht. Vervang <password> door uw werkelijke wachtwoord. Volume monteren met -v is optioneel. Vervang <directory on the host OS> door een werkelijke map waarin u de databasegegevens en logboekbestanden wilt koppelen.

Controleer de SQL Server Linux-container

docker ps -a

De installatiekopieƫn van de Linux-container van SQL Server uitvoeren

  1. Stel uw omgevingsvariabelen in voordat u de container uitvoert. Stel de omgevingsvariabele PATH_TO_MSSQL in op een directory van de host:

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

    Note

    Het proces voor het uitvoeren van SQL Server-edities in containers is enigszins anders. Zie Implementeren en verbinding maken met SQL Server Linux-containers voor meer informatie. Als u dezelfde containernamen en poorten gebruikt, werkt de rest van deze handleiding nog steeds met productiecontainers.

  2. Voer de opdracht docker ps uit om uw containers weer te geven:

    sudo docker ps -a
    
  3. Als in de kolom STATUS de status van Upwordt weergegeven, wordt SQL Server uitgevoerd in de container en luistert op de poort die is opgegeven in de kolom PORTS. Als in de kolom STATUS voor uw SQL Server-container Gestopt wordt weergegeven, raadpleegt u de documentatie Problemen met SQL Server Docker-containers oplossen.

    Uitvoer:

    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
    

Machine Learning Services inschakelen

Om Machine Learning Services in te schakelen, verbind je met je SQL Server-instantie en voer je de volgende Transact-SQL-instructie uit:

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