Installer SQL Server Machine Learning Services (Python et R) sur Docker

S’applique à : SQL Server 2019 (15.x) sur Linux

Cet article explique comment installer SQL Server Machine Learning Services sur Docker. Vous pouvez utiliser Machine Learning Services pour exécuter des scripts Python et R en base de données. Nous ne fournissons pas de conteneurs prédéfinis avec Machine Learning Services. Vous pouvez en créer un à partir des conteneurs SQL Server à l’aide d’un exemple de modèle disponible sur GitHub.

Prerequisites

  • Interface de ligne de commande GIT.

  • Docker Engine 1.8+ sur n’importe quelle distribution Linux prise en charge. Pour plus d’informations, consultez Obtenir Docker. Les conteneurs SQL Server ne sont pas pris en charge sur Windows ou macOS pour une utilisation en production.

  • Consultez également la configuration système requise pour SQL Server sur Linux.

Clonez le référentiel mssql-docker

La commande suivante clone le mssql-docker dépôt Git dans un répertoire local.

  1. Ouvre un terminal Bash sous Linux ou macOS.

  2. Changez dans le répertoire où vous souhaitez créer le dépôt local mssql-docker .

  3. Exécutez la commande clone Git pour cloner le mssql-docker dépôt :

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

Construis et exécute une image conteneur Linux SQL Server

Complétez les étapes suivantes pour construire et exécuter l’image Docker :

  1. Modifier le répertoire par le répertoire mssql-mlservices :

    cd mssql-docker/linux/preview/examples/mssql-mlservices
    
  2. Dans le même répertoire, exécutez la commande suivante :

    docker build -t mssql-server-mlservices .
    

    Note

    Pour construire l’image Docker, vous devez installer des paquets de plusieurs Go. Le script peut prendre plus ou moins de temps pour s’exécuter entièrement en fonction de la bande passante réseau disponible.

  3. Exécutez le conteneur :

    Important

    La variable d’environnement SA_PASSWORD est obsolète. Utilisez MSSQL_SA_PASSWORD à la place.

    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

    Toutes les valeurs prises en charge peuvent être utilisées pour MSSQL_PID. Si vous utilisez une édition payante, vérifiez que vous avez acheté une licence. Remplacez <password> par votre mot de passe réel. Le montage de volume à l’aide de -v est facultatif. Remplacez <directory on the host OS> par un répertoire réel dans lequel vous souhaitez monter les données de base de données et les fichiers journaux.

Vérifier le conteneur Linux de SQL Server

docker ps -a

Exécuter l’image conteneur Linux de SQL Server

  1. Définissez des variables d’environnement avant d’exécuter le conteneur. Définir la variable d’environnement PATH_TO_MSSQL sur un répertoire hôte :

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

    Note

    Le processus d’exécution des éditions SQL Server de production dans des conteneurs est légèrement différent. Pour plus d’informations, consultez Déployer et se connecter à des conteneurs Linux SQL Server. Si vous utilisez les mêmes noms de conteneur et ports, le reste de cette procédure pas à pas fonctionne toujours avec les conteneurs de production.

  2. Pour afficher vos conteneurs, exécutez la commande docker ps :

    sudo docker ps -a
    
  3. Si la colonne ÉTAT affiche En cours d’exécution, SQL Server est en cours d’exécution dans le conteneur et écoute sur le port spécifié dans la colonne PORTS. Si la colonne STATUS de votre conteneur SQL Server affiche Sortie, consultez les conteneurs Docker SQL Server de résolution des problèmes.

    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
    

Activer Machine Learning Services

Pour activer Machine Learning Services, connectez-vous à votre instance SQL Server et exécutez la déclaration Transact-SQL suivante :

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