본 포스팅은 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

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

※ 해당 화면에서 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는 기본적으로 경로에 있지 않으므로 전체 경로를 지정해야 합니다.

자료 출처 : Docker: SQL Server on Linux의 컨테이너 설치 - SQL Server | Microsoft Docs
'CICD > Docker' 카테고리의 다른 글
[Docker] 도커 개념 및 사용법 (0) | 2021.06.16 |
---|