MacOS에 SQL Server 도커 컨테이너 설치하기
맥북 프로에 SQL Server 인스턴스를 개발 목적으로 설치할 필요성이 생겨서, 도커를 이용해서 설치해보고 방법을 남겨 놓습니다.
MacOS에 SQL Server 도커 컨테이너 설치하기
이미지 다운로드
docker pull mcr.microsoft.com/mssql/server:2019-latest
서버 실행
실행 시, SA_PASSWORD를 지정해주어야 하는데, 다음 규칙을 만족해야 합니다.
- 영어 대문자 포함
- 영어 소문자 포함
- 숫자 포함
- 특수문자 포함
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=비밀번호" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest
데이터 유지하기
위와 같이 실행한 컨테이너는, 종료하고 나면 작업내용이 유지되지 않는다.
그러므로, 컨테이너를 이미지로 만들고, 컨테이너 안의 데이터 경로를 컨테이너 밖의 파일시스템과 연결하여 데이터가 유지되도록 해야 한다.
먼저 이미지로 만드는 방법은 다음과 같다. 훨씬 우아한 방법이 있겠지만, 이제 막 docker를 써보기 시작한 상태여서... ;(
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=비밀번호" -p 1433:1433 --name "temp-mssql-server-2019-container" -d mcr.microsoft.com/mssql/server:2019-latest
docker stop "temp-mssql-server-2019-container"
docker commit "temp-mssql-server-2019-container" "my-mssql-2019"
이렇게 해두면, 다음부터는 my-mssql-2019
이미지로부터 컨테이너를 실행할 수 있다.
여기에, ~/docker-data/mssql
경로를 데이터 경로로 연결시켜 준다. 아래는 최종적인 실행 명령이다.
docker run -d --rm -p 1433:1433 -v ~/docker-data/mssql/data:/var/opt/mssql/data -v ~/docker-data/mssql/log:/var/opt/mssql/log -v ~/docker-data/mssql/secrets:/var/opt/mssql/secrets "my-mssql-2019"
(만약에 windows에서 powershell로 실행하는 경우는, ~/docker-data/mssql
대신, $HOME/docker-data/mssql
을 지정해주면 된다.)
ODBC driver & SqlCmd 설치하기
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
ACCEPT_EULA=Y brew install msodbcsql17 mssql-tools
SQL Server Management Studio 대용
SSMS는 아직 MacOS에서 지원되지 않고 있습니다. 대신 오픈소스 GUI 클라이언트들 중에서 하나를 선택해서 이용해야 하며, 개인적으로는 DBeaver라는 프로그램이 기본적인 작업을 하기에는 괜찮아서 사용하고 있습니다.