본문 바로가기
개발 이야기/RDBMS

MSSQL을 Docker Compose로 띄우기

by 농개 2021. 7. 3.
반응형

MSSQL(SQL server)docker compose로 띄우는 방법!!

(ms공식 문서에는 docker로 띄눈 방법은 있지만 yml파일을 활용한 방법은 없어서 정리해봅니다._.)

 

docker, docker-compose는 미리 설치가 되어있어야합니다.

 

01. Docker Image 다운받기

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

위와 같이 docker pull을 사용해 mssql docker image를 다운 받습니다.

 

 

02. docker-compose.yml 작성

version: '3.7'
services:
  sqlserver:
    image: mcr.microsoft.com/mssql/server:2019-latest
    user: root
    container_name: sql1
    hostname: sql1
    ports:
      - 1433:1433
    volumes:
      - ./sql1data:/var/opt/mssql
    environment:
      ACCEPT_EULA: Y
      SA_PASSWORD: password1!

위와 같이 docker-compose.yml 파일을 만들고 몇가지 설정을 해줍니다.

  • user: root   => 반드시 해줍니다. 안하면 permission error 발생.
  • container_namehostname 설정을 원하는 이름으로 해주면됩니다. 전 sql1으로 했네여
  • port는 1433:1433으로 맵핑 시켜줍니다. (mssql 기본포트번호는 1433)
  • volumes  => 컨테이너 내부 데이터를 디스크와 공유하기 위해 volume 설정해줬구요.
  • 그외 필요한 환경 변수 설정해줬습니다.

 

03. docker-compose로 컨테이너 띄우기

docker-compose -f ./docker-compose.yml up -d

위와 같이 백그라운드 실행 시켜줍니다. (-d 옵션)

kang@kang:~$ docker ps
CONTAINER ID        IMAGE                                        COMMAND                  CREATED             STATUS              PORTS                    NAMES
6b35140b61b0        mcr.microsoft.com/mssql/server:2019-latest   "/opt/mssql/bin/perm…"   31 minutes ago      Up 31 minutes       0.0.0.0:1433->1433/tcp   sql1

정상적으로 떴는지 확인해줍니다. STATUS가 Up상태가 아니라면, 로그를 확인해줍니다.(docker logs sql1)

 

 

04. SQL Server Management Studio로 접속해보기

SQL Server Management Studio, DB연결

위와 같이 sa계정과 docker-compose.yml에 설정한 SA_PASSWORD 값을 사용해 연결 할 수 있습니다.

 

 

 

 

 

반응형