Programming/DB

[DB/Docker/MSSQL] Docker + MSSQL 개발하기

devssun 2018. 8. 9. 15:46
728x90
반응형

Docker + MSSQL 개발하기

  • Prerequisites

    • 지원되는 모든 Linux 배포판 또는 Mac/Windows용 Docker에서 Docker Engine 1.8+. 자세한 내용은 사용자 Docker 설치를 참조하세요.
    • 최소 2GB의 디스크 공간
    • 최소 2GB의 RAM
    • Linux에서 SQL Server에 대한 시스템 요구 사항
  • Docker 가이드 : https://subicura.com/2017/01/19/docker-guide-for-beginners-2.html

  • Docker remove image container : https://www.digitalocean.com/community/tutorials/how-to-remove-docker-images-containers-and-volumes

  • 컨테이너 이미지 실행

    sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<yourPAssword1!>' \
     -p 1433:1433 --name sql1 \
     -d microsoft/mssql-server-linux:2017-latest
  • SA 암호 변경

    sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
     -S localhost -U SA -P '<yourNewPAssword1!>' \
     -Q 'ALTER LOGIN SA WITH PASSWORD="<yourNewPAssword1!>"'
  • SQL Server 연결
    sql1은 컨테이너 생성 시 지정한 이름
    실행 중인 컨테이너 내에서 대화형 bash 셸 시작 sudo docker exec -it sql1 "bash"

  • 컨테이너 내부로 들어가면 sqlcmd를 사용하여 로컬로 연결
    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '<yourPAssword1!>'

  • MSSQL 계정 생성

    • MSSQL에서는 설치 중에 기본적으로 SA계정을 제공하며 이는 SQL Server 인스턴스의 시스템 관리자이다.
      대부분 SA에 비밀번호를 설정하지 않거나 쉬운 비밀번호를 적용시키기 때문에 기본 포트와 SA 계정으로 Database server에 접근하게 되면 뚫리게 되는 경우가 발생한다. 이를 방지하기 위해 추가로 계정을 만들어 Database에 접근할 수 있도록 해야한다
    • 계정 사용에 대한 두 가지 방법 : 기존 윈도우 계정을 SQL계정으로 사용 / OS와 다른 별도의 새로운 계정 사용
  • 로그인 계정 생성

    • CREATE LOGIN 'yourId' WITH PASSWORD='yourPassword', DEFAULT_DATABASE='yourDatabase'
    • 계정 생성 후 DEFAULT DATABASE 설정하는 경우
      • ALTER LOGIN [your user name] WITH DEFAULT_DATABASE = [user database]
  • Mac OS X MSSQL Client Program

    • SQLPro for MSSQL (https://www.macsqlclient.com/)
    • client프로그램에서 MSSQL에 접속하고자 하는 경우 terminal에서 ifconfig명령어 입력하여 내부 ip를 가져올 수 있다
    • 프로그램을 실행하여 Server host (ip), Login(id), password를 입력한 뒤 Connect한다.~


반응형