SOGM'S Data

Docker에서 MSSQL 컨테이너 사용하기 본문

About CS/Docker

Docker에서 MSSQL 컨테이너 사용하기

왈왈가부 2021. 10. 17. 12:50

 

Docker(도커)란? 

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

즉 서버관리를 도와주는 가상화 플랫폼이고, 도커의 핵심인 컨테이너란, 다양한 프로그램과 실행환경을 추상화한 것으로서 어디서나 동일한 인터페이스를 제공하여 배포 및 관리를 용이하게 해준다. 

 

왜 도커에 mssql 가상 컨테이너를?

내가 자주 sql연습으로 사용하려는 mssql의 경우 로컬에 다운로드 할 경우 추후 삭제/재설치 관련하여 애로사항이 많다.

도커로 독립된 가상환경을 띄어서 관리하고 연습하면 관리가 용이하다. (삭제시 도커 컨테이너 사용하지 않거나 삭제하면되니까) 

 

도커에 mssql 가상 컨테이너를 띄어보자! 

우선 도커 데스크탑을 다운받는다. https://www.docker.com/products/docker-desktop

커맨드창을 열어 명령어를 입력한다. 

참고로 도커 다운로드시, wsl 셋팅이 필요할 수 있다. (저 같은경우는 오류를 구글링하여 공식문서를 보고 wsl 관련 명령어로 해결하였습니다.)

 

    1. Microsoft Container Registry에서 SQL Server 2019 Linux 컨테이너 이미지를 pull
      • sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
    2. 도커를 사용하여 컨테이너 이미지를 실행하고 비밀번호 설정
      • sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<YourStrong@Passw0rd>" \
           -p 1433:1433 --name sql1 -h sql1 \
           -d mcr.microsoft.com/mssql/server:2019-latest​
      • 하나씩 구성 요소를 보자면,
        • " ACCEPT_EULA=Y"란 최초 사용권 계약 수락 확인
        • "SA=PASSWORD"는 컨테이너 접속 암호 설정(8자리, 꺽쇠 부분까지 삭제하고 개인 비밀번호 작성)
        • -p 1433:1433 은 TCP설정, 현재 설정은 (TCP1433수신대기하고 호스트의 포트 1433에 공개)
        • --name은 컨테이너 사용자 이름 ( 예제에서는 sql1 지우고 본인 컨테이너 이름 새로 작성)
        • -d  이하 mcr~ 부분은 sql server 2019의 이미지입니다. 
    3. 도커 컨테이너가 잘 생성되어 있는지 보는 명령어
      • 실행중인 컨테이너만 보기
        sudo docker ps a  --종료된 컨테이너 포함해서 보기 위함이면 docker ps -a​
         
      • 실행 결과
    4. sql server에 연결
      • sudo docker exec -it sql1 "bash"
    5. 컨테이너 내부로 들어가기
      • /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<YourNewStrong@Passw0rd>"
      • 아까 패스워드 입력해주면 됨.
    6.  커맨트 창에 ' 1>' 이 표시되면 정상 접근완료
Comments