Aracılığıyla paylaş


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

Şunlar için geçerlidir: SQL Server 2019 (15.x) - Linux

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.

Önkoşullar

  • Git komut satırı arabirimi.

  • Desteklenen herhangi bir Linux dağıtımında Docker Engine 1.8+ . Daha fazla bilgi için bkz. Docker'ı Edinme. Kapsayıcılardaki SQL Server, üretim kullanımı için Windows veya macOS'ta desteklenmez.

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

mssql-docker deposunu kopyalama

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

  1. Linux veya Mac üzerinde bir Bash terminali açın.

  2. mssql-docker deposunun yerel bir kopyasını tutmak için bir dizin oluşturun.

  3. git clone komutunu çalıştırarak mssql-docker deposunu kopyalayın:

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

SQL Server Linux kapsayıcı görüntüsü oluşturma

Docker görüntüsünü derlemek için aşağıdaki adımları tamamlayın:

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

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

    docker build -t mssql-server-mlservices .
    
  3. Komutunu çalıştırın:

    Önemli

    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
    

    Not

    Aşağıdaki değerlerden herhangi biri MSSQL_PID için kullanılabilir: Geliştirici (ücretsiz), Express (ücretsiz), Enterprise (ücretli), Standart (ücretli). Ü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.

  4. Aşağıdaki komutu çalıştırarak onaylayın:

    docker ps -a
    

    Not

    Docker görüntüsünü oluşturmak için boyutu birkaç GB olan paketleri yüklemeniz gerekir. Ağ bant genişliğine bağlı olarak betiğin çalıştırılması biraz zaman alabilir.

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

    Not

    Ü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 Hizmetleri'ni etkinleştirmek için SQL Server örneğine bağlanın ve aşağıdaki T-SQL deyimini çalıştırın:

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