Installieren von SQL Server Machine Learning Services (Python und R) in Docker
Gilt für: SQL Server 2019 (15.x) – Linux
In diesem Artikel wird die Installation von SQL Server Machine Learning Services in Docker erläutert. Sie können Machine Learning Services verwenden, um Python- und R-Skripts in einer Datenbank auszuführen. Mit Machine Learning Services werden keine vorgefertigten Container bereitgestellt. Sie können einen Container mithilfe einer Beispielvorlage auf GitHub aus den SQL Server-Containern erstellen.
Voraussetzungen
Git-Befehlszeilenschnittstelle.
Docker Engine 1.8 oder höher unter einer beliebigen unterstützten Linux-Distribution. Weitere Informationen finden Sie unter Get Docker (Docker-Download). SQL Server in Containern wird unter Windows oder macOS für den Einsatz in der Produktion nicht unterstützt.
Außerdem gelten die Systemanforderungen für SQL Server für Linux.
Klonen des mssql-docker-Repositorys
Mit dem folgenden Befehl wird das Git-Repository mssql-docker
in ein lokales Verzeichnis geklont.
Öffnen Sie ein Bash-Terminal unter Linux oder Mac.
Erstellen Sie ein Verzeichnis, in dem eine lokale Kopie des mssql-docker-Repositorys gespeichert wird.
Führen Sie den Befehl „git clone“ aus, um das mssql-docker-Repository zu klonen:
git clone https://github.com/microsoft/mssql-docker mssql-docker
Erstellen eines SQL Server-Linux-Containerimage
Führen Sie die folgenden Schritte durch, um das Docker-Image zu erstellen:
Wechseln Sie zum Verzeichnis „mssql-mlservices“:
/mssql-docker/linux/preview/examples/mssql-mlservices
Führen Sie im gleichen Verzeichnis den folgenden Befehl aus:
docker build -t mssql-server-mlservices .
Führen Sie den folgenden Befehl aus:
Wichtig
Die Umgebungsvariable
SA_PASSWORD
ist veraltet. Verwenden Sie stattdessenMSSQL_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
Hinweis
Die folgenden Werte können für MSSQL_PID verwendet werden: Developer (kostenlos), Express (kostenlos), Enteprise (kostenpflichtig), Standard (kostenpflichtig). Wenn Sie eine kostenpflichtige Edition verwenden, stellen Sie sicher, dass Sie eine Lizenz erworben haben. Ersetzen Sie (Kennwort) durch Ihr tatsächliches Kennwort. Die Volumebereitstellung mit -v ist optional. Ersetzen Sie (Verzeichnis auf dem Hostbetriebssystem) durch ein tatsächliches Verzeichnis, in das Sie die Datenbankdaten und Protokolldateien einbinden möchten.
Bestätigen Sie die Änderung, indem Sie den folgenden Befehl ausführen:
docker ps -a
Hinweis
Zum Erstellen des Docker-Images müssen Sie Pakete installieren, die mehrere GB groß sind. Abhängig von der Netzwerkbandbreite kann es einige Zeit dauern, bis die Skriptausführung abgeschlossen ist.
Ausführen des SQL Server-Linux-Containerimages
Legen Sie vor dem Ausführen des Containers Ihre Umgebungsvariablen fest. Legen Sie PATH_TO_MSSQL-Umgebungsvariable auf ein Hostverzeichnis fest:
export MSSQL_PID='Developer' export ACCEPT_EULA='Y' export ACCEPT_EULA_ML='Y' export PATH_TO_MSSQL='/home/mssql/'
Hinweis
Die Vorgehensweise zum Ausführen von SQL Server-Produktionseditionen in Containern weicht hiervon minimal ab. Weitere Informationen finden Sie unter Konfigurieren von SQL Server-Containerimages in Docker. Bei Verwendung derselben Containernamen und Ports können Sie die restlichen Schritte dieser exemplarischen Vorgehensweise auch mit Containern für Produktionsumgebungen ausführen.
Führen Sie den Befehl
docker ps
aus, um Ihre Container anzuzeigen:sudo docker ps -a
Wenn die Spalte STATUS den Wert Up (Aktiv) enthält, wird SQL Server im Container ausgeführt und überwacht den in der Spalte PORTS angegebenen Port. Wenn in der Spalte STATUS Ihres SQL Server-Containers Exited (Beendet) steht, lesen Sie bitte im Abschnitt „Problembehebung“ im Konfigurationshandbuch nach.
Ausgabe:
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
Aktivieren von Machine Learning Services
Stellen Sie zum Aktivieren von Machine Learning Services eine Verbindung mit Ihrer SQL Server-Instanz her, und führen Sie die folgende T-SQL-Anweisung aus:
EXEC sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE
Zugehöriger Inhalt
Python-Entwickler können in den folgenden Tutorials erfahren, wie Python mit SQL Server verwendet werden kann:
- Python-Tutorial: Bereitstellen eines linearen Regressionsmodells in SQL Server Machine Learning Services
- Python-Tutorial: Kategorisieren von Kunden mithilfe von K-Means-Clustering mit SQL Server Machine Learning Services
R-Entwickler können mit einigen einfachen Beispielen loslegen und die Grundlagen der Funktionen von R unter SQL Server kennenlernen. Informationen zu den nächsten Schritten finden Sie unter den folgenden Links: