상세 컨텐츠

본문 제목

MSSQL 서버 올리기

Docker

by 탑~! 2024. 10. 31. 12:16

본문

 

MS SQL 이미지 다운로드

docker pull mcr.microsoft.com/mssql/server:2022-latest

 

Container 이미지 실행

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<SA Passw0rd>" -p 1401:1433 --name MSSQL2022 --hostname MSSQL2022 -d mcr.microsoft.com/mssql/server:2022-latest

 

 

매개변수

매개 변수Description

-e "ACCEPT_EULA=Y" 최종 사용자 사용권 계약 수락을 확인하기 위해 ACCEPT_EULA 변수를 어떤 값에 설정합니다. SQL Server 이미지에 대한 설정을 해야 합니다.
-e "SA_PASSWORD=<YourStrong!Passw0rd>" 8자 이상이고 SQL Server 암호 요구 사항을 충족하는 자신만의 강력한 암호를 지정합니다. SQL Server 이미지에 대한 설정을 해야 합니다.
-p 1401:1433 호스트 환경의 TCP 포트(첫 번째 값)를 컨테이너의 TCP 포트(두 번째 값)로 매핑합니다. 이 예제에서 SQL Server는 컨테이너의 TCP 1433에서 수신 대기하고 이 컨테이너는 호스트의 TCP 포트 1433에 공개됩니다.
--name sql1 컨테이너에 대해 임의로 생성된 이름보다는 사용자 지정 이름을 지정합니다. 둘 이상의 컨테이너를 실행하는 경우 이 동일한 이름을 다시 사용할 수 없습니다.
--hostname sql1 컨테이너 호스트 이름을 명시적으로 설정하는 데 사용됩니다. 지정하지 않으면 임의로 생성된 시스템 GUID인 컨테이너 ID가 기본값으로 사용됩니다.
-d 백그라운드(디먼)에서 컨테이너를 실행합니다.
mcr.microsoft.com/mssql/server:2022-latest SQL Server Linux 컨테이너 이미지입니다.

 

ACCEPT_EULA 최종 사용자 사용권 계약 수락을 확인하기 위해 ACCEPT_EULA 변수를 어떤 값에 설정합니다. SQL Server 이미지에 대한 설정을 해야 합니다.
MSSQL_SA_PASSWORD SA 사용자 암호를 구성합니다.
MSSQL_PID SQL Server 버전 또는 제품 키를 설정합니다. 가능한 값은 다음과 같습니다.
Evaluation
Developer
Express
Web
Standard
Enterprise
제품 키
제품 키를 지정하는 경우 #####-#####-#####-#####-##### 형식이어야 합니다. 여기서 '#'은 숫자 또는 문자입니다.
MSSQL_LCID SQL Server에 사용할 언어 ID를 설정합니다. 예를 들어 1042는 한국어입니다.
MSSQL_COLLATION SQL Server에 대한 기본 데이터 정렬을 설정합니다. 이렇게 하면 데이터 정렬에 대한 언어 ID(LCID)의 기본 매핑이 재정의됩니다. Korean_Wansung_CS_AS는 한국어 대소문자 엑센트 무시.
MSSQL_MEMORY_LIMIT_MB SQL Server에서 사용할 수 있는 최대 메모리 크기(MB)를 설정합니다. 기본적으로 총 실제 메모리의 80%입니다.
MSSQL_TCP_PORT SQL Server가 수신 대기하는 TCP 포트(기본값 1433)를 구성합니다.
MSSQL_IP_ADDRESS IP 주소를 설정합니다. 현재 IP 주소는 IPv4 스타일(0.0.0.0)이어야 합니다.
MSSQL_BACKUP_DIR 기본 백업 디렉터리 위치를 설정합니다.
MSSQL_DATA_DIR 새 SQL Server 데이터베이스 데이터 파일(.mdf)이 생성되는 디렉터리를 변경합니다.
MSSQL_LOG_DIR 새 SQL Server 데이터베이스 로그(.ldf) 파일이 생성되는 디렉터리를 변경합니다.
MSSQL_DUMP_DIR 기본적으로 SQL Server가 메모리 덤프 및 기타 문제 해결 파일을 보관할 디렉터리를 변경합니다.
MSSQL_ENABLE_HADR 가용성 그룹을 사용하도록 설정합니다. 예를 들어 '1'은 사용이고 '0'은 사용 안 함입니다.
MSSQL_AGENT_ENABLED SQL Server 에이전트를 사용하도록 설정합니다. 예를 들어 'true'는 사용이고 'false'는 사용 안 함입니다. 기본적으로 에이전트는 사용하지 않도록 설정됩니다.
MSSQL_MASTER_DATA_FILE master 데이터베이스 데이터 파일의 위치를 설정합니다. SQL Server를 처음 실행할 때까지 이름은 master.mdf 여야 합니다.
MSSQL_MASTER_LOG_FILE master 데이터베이스 로그 파일의 위치를 설정합니다. SQL Server를 처음 실행할 때까지 이름은 master.ldf 여야 합니다.
MSSQL_ERROR_LOG_FILE 오류 로그 파일의 위치를 설정합니다.

 

https://docs.microsoft.com/ko-kr/sql/linux/sql-server-linux-configure-environment-variables?view=sql-server-ver15

 

 

Container 진입

docker exec -it MSSQL2022  bash

 

docker run -e ACCEPT_EULA=Y -e MSSQL_PID='Developer' -e MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2019-latest

 

 

docker run -e ACCEPT_EULA=Y -e MSSQL_PID="Developer" -e MSSQL_SA_PASSWORD="<YourStrong!Passw0rd>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2019-latest

 

 

연결확인

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<SA Passw0rd>"

외부

sqlcmd -S <ip_address>,1433 -U SA -P "<SA Passw0rd>"

'Docker' 카테고리의 다른 글

Docker 명령어 구조  (1) 2024.09.03

관련글 더보기