본문 바로가기
CICD/Docker

[Docker] Docker환경에서 MSSQL설치하기

by kyunb 2021. 6. 16.

본 포스팅은 Docker환경에서의 MSSQL설치를 목표로 합니다.

 

 

들어가기전에 

 

 

Docker란?

 - 도커(Docker)는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트입니다.

 

Docker의 주요 명령어

 1. search (image 검색)

   #docker search mssql

    - Docker Hub로부터 사용가능한 image를 찾는 명령어

 

 2. pull (image 다운로드)

   #docker pull mssql2019:latest

    - Docker Hub로부터 image를 다운받는 명령어

 

 3. images (image 목록 출력)

   #docker images

    - 현재 Host PC에 다운 받아져있는 image들을 출력하는 명령어

 

 4. run(컨테이너 생성과 동시에 컨테이너로 접속)

   #docker run "REPOSITORY"

    (docker run <옵션><이미지 이름 or 이미지ID><실행할 파일>)

    - 다운받은 image를 실행 형태의 컨테이너로 만드는 명렁어

 

 5. ps(컨테이너 확인(실행중인 image확인))

   #docker ps

    - 실행중인 컨테이너의 목록을 출력

 

   #docker ps -a

    - 실행중인 컨테이너를 포함한 모든 컨테이너의 목록을 출력

 

내용 출처 : Docker 명령어 정리 (tistory.com)

 

Docker 명령어 정리

Docker 사용법 CentOS Docker는 OS의 자원을 사용하기 때문에 기본적으로 Root 사용자에서 명령어를 사용해야한다 1. search (image 검색) # docker search centos - Docker Hub로부터 사용가능한 image를 찾는 명..

captcha.tistory.com

 

 

Docker환경에서 MSSQL설치하기

 

1. Docker Hub의 MSSQL목록 확인하기

 # docker search mssql

- Docker Hub에서 pull 할 수 있는 mssql목록을 확인합니다.

 

2. Microsoft Container Registry에서 SQL Server 2019 Linux 컨테이너 이미지를 pull 합니다.

   # sudo docker pull mcr.microsoft.com/mssql/server:2019-latest

 

3. Docker를 사용하여 컨테이너 이미지를 실행합니다.

   # sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<사용자설정 PW> -p 1433:1433 \

--name <사용자 지정 이름> -h <컨테이너 호스트 이름> -d mcr.microsoft.com/mssql/server:2019-latest

매개변수 Description
-e "ACCEPT_EULA=Y" 최종 사용자 사용권 계약 수락을 확인하기 위해 ACCEPT_EULA 변수를 어떤 값에 설정합니다. SQL Server 이미지에 대한 설정을 해야 합니다.
-e "SA_PASSWORD=<사용자설정 PW>" 8자 이상이고 SQL Server 암호 요구사항을 충족하는 암호를 필수로 합니다.
-p 1433:1433 호스트 환경의 TCP 포트(첫 번째 값)를 컨테이너의 TCP 포트(두 번째 값)로 매핑합니다.
--name <사용자 지정 이름> 컨테이너에 대해 임의로 생성된 이름보다는 사용자 지정 이름을 지정합니다. 둘 이상의 컨테이너를 실행하는 경우 이 동일한 이름을 다시 사용할 수 없습니다.
-h <컨테이너 호스트 이름> 컨테이너 호스트 이름을 명시적으로 설정하는 데 사용됩니다. 지정하지 앟으면 임의로 생성된 시스템 GUID인 컨테이너 ID가 기본값으로 사용됩니다.
-d mcr.microsoft.com/mssql/server:2019-latest SQL Server 2019 Ubuntu Linux 컨테이너 이미지입니다.

 

4. 실행중인 Docker 컨테이너를 확인합니다.

   # sudo docker ps

- 실행중인 Docker 컨테이너 목록

   ※ 해당 화면에서 STATUS열이 UP이 아닌 Exited를 표시하는 경우, 실행 중 오류가 발생했을 확률이 높습니다.(반드시 MSSQL암호 정책에 맞는 암호를 설정해야 합니다.)

 

5. MSSQL 연결

   # sudo docker exec -it sql1 "bash"

    - docker exec -it 명령을 사용하여 실행 중인 컨테이너 내에서 대화형 bash 셸을 시작합니다.

   # /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<사용자 지정 PW>"

    - 컨테이너 내부로 들어가면 sqlcmd를 사용하여 로컬로 연결합니다. Sqlcmd는 기본적으로 경로에 있지 않으므로 전체 경로를 지정해야 합니다.

- 접속에 성공하면 다음과 같이 명령어 프롬프트에 1>이 표시됩니다.

자료 출처 : Docker: SQL Server on Linux의 컨테이너 설치 - SQL Server | Microsoft Docs

'CICD > Docker' 카테고리의 다른 글

[Docker] 도커 개념 및 사용법  (0) 2021.06.16