Установка Служб машинного обучения SQL Server (Python, R) в Docker

Область применения:SQL Server 2019 (15.x) — Linux

В этой статье объясняется, как установить Службы машинного обучения SQL Server в Docker. Службы машинного обучения можно использовать для запуска сценариев R или Python в базе данных. Мы не предоставляем готовые контейнеры со Службами машинного обучения. Вы можете создать их из контейнеров SQL Server, используя пример шаблона, доступный на сайте GitHub.

Необходимые компоненты

  • Интерфейс командной строки Git.

  • Docker Engine 1.8 и более поздних версий на любом поддерживаемом дистрибутиве Linux. Дополнительные сведения см. в статье Получение Docker. SQL Server в контейнерах не поддерживается в Windows или macOS для использования в рабочей среде.

  • См. также требования к системе для SQL Server на Linux.

Клонирование репозитория mssql-docker

Следующая команда позволяет клонировать репозиторий mssql-docker Git в локальный каталог.

  1. Откройте терминал Bash в Linux или Mac.

  2. Создайте каталог для хранения локальной копии репозитория mssql-docker.

  3. Выполните команду git clone, чтобы клонировать репозиторий mssql-docker:

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

Создание образа контейнера SQL Server Linux

Чтобы создать образ Docker, выполните следующие шаги:

  1. Измените каталог на mssql-mlservices:

    /mssql-docker/linux/preview/examples/mssql-mlservices
    
  2. В том же каталоге выполните следующую команду:

    docker build -t mssql-server-mlservices .
    
  3. Выполните команду:

    Важно!

    Переменная среды SA_PASSWORD является нерекомендуемой. Вместо этого используйте MSSQL_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
    

    Примечание.

    Любое из следующих значений можно использовать для MSSQL_PID: разработчик (бесплатный), Express (бесплатный), Enteprise (платный), Standard (платный). Если вы используете платный выпуск, убедитесь, что вы приобрели лицензию. Замените значение (пароль) фактическим паролем. Монтирование томов с помощью -v необязательно. Замените (каталог в ОС узла) фактическим каталогом, в который необходимо подключить файлы данных и журналов базы данных.

  4. Подтвердите, выполнив следующую команду:

    docker ps -a
    

    Примечание.

    Для создания образа Docker вам нужно установить пакеты размером в несколько ГБ. Выполнение сценария может занять некоторое время в зависимости от пропускной способности сети.

Запуск образа контейнера SQL Server Linux

  1. Перед запуском контейнера задайте переменные среды. В качестве значения переменной среды PATH_TO_MSSQL укажите каталог узла:

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

    Примечание.

    Процесс запуска контейнера с рабочими выпусками SQL Server немного отличается. Дополнительные сведения см. в статье Настройка образов контейнеров SQL Server в Docker. Если вы используете те же имена и порты контейнеров, действия в оставшейся части этого руководства будут актуальны и для рабочих контейнеров.

  2. Чтобы просмотреть контейнеры, выполните docker ps команду:

    sudo docker ps -a
    
  3. Если в столбце STATUS (Состояние) отображается значение Up (Работает), SQL Server выполняется в контейнере и прослушивает порт, указанный в столбце PORTS (Порты). Если в столбце STATUS контейнера с SQL Server отображается Exited (завершен), см.руководство Устранение неполадок конфигурации.

    Выходные данные:

    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
    

Включение служб машинного обучения

Чтобы включить Службы машинного обучения, подключитесь к экземпляру SQL Server и выполните следующую инструкцию T-SQL:

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

Разработчики на языке Python могут узнать, как использовать Python с SQL Server, изучив следующие руководства.

Разработчики на языке R могут ознакомиться с простыми примерами, а также узнать, как код R работает с SQL Server. Дополнительные сведения см. в следующих статьях.