Docker에 SQL Server Machine Learning Services(Python 및 R) 설치
적용 대상: SQL Server 2019(15.x) - Linux
이 문서에서는 Docker에 SQL Server Machine Learning Services를 설치하는 방법을 설명합니다. Machine Learning Services를 사용하여 데이터베이스에서 R 또는 Python 스크립트를 실행할 수 있습니다. 미리 빌드된 컨테이너는 Machine Learning Services와 함께 제공하지 않습니다. GitHub에서 제공되는 예제 템플릿을 사용하여 SQL Server 컨테이너에서 새로 만들 수 있습니다.
필수 구성 요소
Git 명령줄 인터페이스.
지원되는 모든 Linux 배포판에서 Docker Engine 1.8 이상 실행 자세한 내용은 Get Docker(Docker 가져오기)를 참조하세요. 컨테이너의 SQL Server는 Windows 또는 macOS에서 프로덕션 용도로 지원되지 않습니다.
SQL Server on Linux의 시스템 요구 사항도 참조하세요.
mssql-docker 리포지토리 복제
다음 명령은 mssql-docker
git 리포지토리를 로컬 디렉터리로 복제합니다.
Linux 또는 Mac에서 Bash 터미널을 엽니다.
mssql-docker 리포지토리의 로컬 복사본을 보관할 디렉터리를 만듭니다.
Git 복제 명령을 실행하여 mssql-docker 리포지토리 복제:
git clone https://github.com/microsoft/mssql-docker mssql-docker
SQL Server Linux 컨테이너 이미지를 빌드합니다.
다음 단계에 따라 Docker 이미지를 빌드합니다.
디렉터리를 mssql-mlservices 디렉터리로 변경:
/mssql-docker/linux/preview/examples/mssql-mlservices
동일한 디렉터리에서 다음 명령을 실행합니다.
docker build -t mssql-server-mlservices .
명령 실행:
Important
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에 다음 값을 사용할 수 있습니다. Developer(무료), Express (무료), Enteprise(유료), Standard(유료). 유료 버전을 사용하는 경우 라이선스를 구입했는지 확인하세요. (password)를 실제 암호로 바꿉니다. -v를 사용한 볼륨 탑재는 선택 사항입니다. (directory on the host OS)를 데이터베이스 데이터 및 로그 파일을 탑재하려는 실제 디렉터리로 바꿉니다.
다음 명령을 실행하여 확인합니다.
docker ps -a
참고
Docker 이미지를 빌드하려면 크기가 몇 GB인 패키지를 설치해야 합니다. 스크립트의 실행이 완료되는 데는 네트워크 대역폭에 따라 얼마간의 시간이 걸릴 수 있습니다.
SQL Server Linux 컨테이너 이미지를 실행합니다.
컨테이너를 실행하기 전에 환경 변수를 설정합니다. PATH_TO_MSSQL 환경 변수를 호스트 디렉터리로 설정:
export MSSQL_PID='Developer' export ACCEPT_EULA='Y' export ACCEPT_EULA_ML='Y' export PATH_TO_MSSQL='/home/mssql/'
참고
컨테이너에서 프로덕션 SQL Server 버전을 실행하는 프로세스는 약간 다릅니다. 자세한 내용은 Docker에서 SQL Server 컨테이너 이미지 구성을 참조하세요. 동일한 컨테이너 이름 및 포트를 사용하는 경우 이 연습의 나머지 부분은 프로덕션 컨테이너에서도 계속 작동합니다.
컨테이너를 보려면
docker ps
명령을 실행합니다.sudo docker ps -a
STATUS 열이 Up의 상태를 표시하는 경우, SQL Server는 컨테이너에서 실행되며 PORTS 열의 지정된 포트에서 수신 대기합니다. 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
Machine Learning Services 사용 설정
Machine Learning Services를 사용하도록 설정하려면 SQL Server 인스턴스에 연결하여 다음과 같은 T-SQL 문을 실행합니다.
EXEC sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE
관련 콘텐츠
Python 개발자는 다음 자습서에 따라 SQL Server에서 Python을 사용하는 방법을 알아볼 수 있습니다.
- Python 자습서: SQL Server Machine Learning Services에서 선형 회귀를 사용하여 스키 대여 예측
- Python 자습서: Categorizing customers using k-means clustering with SQL Server Machine Learning Services(SQL Server Machine Learning Services에서 k-평균 클러스터링을 사용하여 고객 분류)
R 개발자는 몇 가지 간단한 예제를 시작하고 R이 SQL Server에서 작동하는 방식의 기초를 알아볼 수 있습니다. 다음 단계로 가려면 아래 링크를 참조하세요.