Docker'a SQL Server Machine Learning Services (Python ve R) yükleme

Şunun için geçerlidir: Linux üzerinde SQL Server 2019 (15.x)

Bu makalede Docker'a SQL Server Machine Learning Services nasıl yükleneceği açıklanmaktadır. Python ve R betiklerini veritabanında yürütmek için Machine Learning Services'ı kullanabilirsiniz. Machine Learning Services ile önceden oluşturulmuş kapsayıcılar sağlamayız. GitHubüzerinde bulunan örnek bir şablon kullanarak SQL Server kapsayıcılarından bir şablon oluşturabilirsiniz.

Prerequisites

  • Git komut satırı arabirimi.

  • Desteklenen herhangi bir Linux dağıtımında Docker Engine 1.8+ . Daha fazla bilgi için bkz . Docker'ı edinin. SQL Server konteynerleri üretim kullanımı için Windows veya macOS'ta desteklenmiyor.

  • Ayrıca bkz. Linuxüzerinde SQL Server için sistem gereksinimleri.

mssql-docker deposunu kopyalama

Aşağıdaki komut, Git deposunu mssql-docker yerel bir dizine klonlar.

  1. Linux veya macOS'ta bir Bash terminali açın.

  2. Yerel mssql-docker depoyu oluşturmak istediğiniz dizine geçin.

  3. Depoyu klonlamak için Git klon komutunu mssql-docker çalıştırın:

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

Bir SQL Server Linux konteyner görüntüsü oluştur ve çalıştır

Docker imajını oluşturmak ve çalıştırmak için aşağıdaki adımları tamamlayın:

  1. Dizini mssql-mlservices diziniyle değiştirin:

    cd mssql-docker/linux/preview/examples/mssql-mlservices
    
  2. Aynı dizinde aşağıdaki komutu çalıştırın:

    docker build -t mssql-server-mlservices .
    

    Note

    Docker imajını oluşturmak için birkaç GB boyutunda paketler kurmanız gerekir. Ağ bant genişliğine bağlı olarak betiğin çalıştırılması biraz zaman alabilir.

  3. Kapsayıcıyı çalıştırın:

    Important

    SA_PASSWORD ortam değişkeni kullanım dışıdır. Bunun yerine MSSQL_SA_PASSWORD kullanın.

    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

    desteklenen değerlerden herhangi biri için MSSQL_PIDkullanılabilir. Ücretli bir sürüm kullanıyorsanız lisans satın aldığınızdan emin olun. <password> yerine gerçek parolanızı yazın. İsteğe bağlı olarak -v ile birim bağlama yapılabilir. <directory on the host OS> yerine veritabanı verilerini ve günlük dosyalarını bağlamak istediğiniz gerçek bir dizin yazın.

SQL Server Linux konteynerini doğrulayın

docker ps -a

SQL Server Linux kapsayıcı görüntüsünü çalıştırma

  1. Kapsayıcıyı çalıştırmadan önce ortam değişkenlerinizi ayarlayın. PATH_TO_MSSQL ortam değişkenini bir konak dizinine ayarlayın:

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

    Note

    Üretim SQL Server sürümlerini kapsayıcılarda çalıştırma işlemi biraz farklıdır. Daha fazla bilgi için bkz. SQL Server Linux kapsayıcılarını dağıtma ve bağlama. Aynı kapsayıcı adlarını ve bağlantı noktalarını kullanıyorsanız, bu kılavuzun geri kalanı üretim kapsayıcılarıyla çalışmaya devam ediyor.

  2. Kapsayıcılarınızı görüntülemek için docker ps komutunu çalıştırın:

    sudo docker ps -a
    
  3. STATUS sütununda Updurumu gösteriliyorsa, SQL Server kapsayıcıda çalışıyor ve PORTS sütununda belirtilen bağlantı noktasını dinliyordur. SQL Server kapsayıcınızın STATUS sütunu Çıkışlı olarak görünüyorsa bkz. SQL Server Docker kapsayıcılarının sorunlarını giderme.

    Çıktı:

    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'i etkinleştirme

Machine Learning Hizmetlerini etkinleştirmek için SQL Server örneğinize bağlanın ve aşağıdaki Transact-SQL ifadesini çalıştırın:

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