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

S’applique à : SQL Server 2019 (15.x) - 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.

Prérequis

  • 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 instances SQL Server dans des conteneurs ne sont pas prises 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 dépôt Git mssql-docker vers un répertoire local.

  1. Ouvrez un terminal bash sur Linux ou Mac.

  2. Créez un répertoire pour y stocker une copie locale du dépôt mssql-docker.

  3. Exécuter la commande clone git pour cloner le référentiel mssql-docker :

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

Générer une image conteneur Linux de SQL Server

Pour générer l’image Docker, effectuez les étapes suivantes :

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

    /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 .
    
  3. Exécutez la commande suivante :

    Important

    La variable d’environnement SA_PASSWORD est dépréciée. 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
    

    Notes

    Chacune des valeurs suivantes peut être utilisés pour MSSQL_PID : Developer (gratuit), Express (gratuit), Enterprise (payant), Standard (payant). Si vous utilisez une édition payante, merci de vérifier que vous avez acheté une licence. Remplacez (password) par votre mot de passe réel. Le montage en volume à l’aide de-v est facultatif. Remplacez (répertoire sur le système d’exploitation hôte) par un répertoire réel dans lequel vous souhaitez monter les fichiers de données et les fichiers journaux de la base de données.

  4. Confirmez en exécutant la commande suivante :

    docker ps -a
    

    Notes

    Pour générer l’image Docker, vous devez installer des packages d’une taille de plusieurs Go. Le script peut prendre quelque temps pour s’exécuter entièrement en fonction de la bande passante réseau.

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/'
    

    Notes

    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 Configurer des images de conteneur SQL Server sur Docker. 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 ÉTAT pour votre conteneur SQL Server affiche Quitté, consultez la section Résolution des problèmes dans le guide de configuration.

    Sortie :

    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 l’instruction T-SQL suivante :

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

Les développeurs Python peuvent apprendre à utiliser Python avec SQL Server en effectuant les didacticiels suivants :

Les développeurs peuvent démarrer avec quelques exemples simples et découvrir les principes de base du fonctionnement de R avec SQL Server. Pour l’étape suivante, consultez les liens suivants :