프로그램/Docker

Docker에서 MSSQL2022 설치

smokylatte 2025. 8. 7. 17:49

아래에 Ubuntu Server 24.04 환경에서 최신 MS SQL Server를 Docker로 운영하고,
~/DBFile 폴더에 데이터베이스 파일을 보관하며, 외부 컴퓨터에서 접속할 수 있도록 설정하는 방법을 상세하게 안내해 드릴게요.


1. Docker 설치 확인

이미 설치되어 있다면 넘어가세요.

sudo apt update
sudo apt install docker.io
sudo systemctl enable --now docker

2. DBFile 폴더 만들기

mkdir -p ~/DBFile

권장: Docker 컨테이너가 이 폴더에 쓸 수 있게 소유권을 맞추세요.

sudo chown 10001:10001 ~/DBFile
  • 10001은 MS SQL 컨테이너의 기본 유저 ID입니다.
  • (혹시 퍼미션 문제 생기면 777로 임시 시도 가능: chmod 777 ~/DBFile)

3. 최신 MSSQL 이미지 받기

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

(2025년 8월 기준 2022-latest가 최신입니다.)


4. Docker 컨테이너 실행

주요 옵션 설명

  • SA_PASSWORD: 강력한 패스워드로 변경
  • ACCEPT_EULA=Y: 라이선스 동의
  • 포트포워딩: 1433:1433으로 외부접속 허용
  • 볼륨마운트: ~/DBFile:/var/opt/mssql/data

명령어 예시

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=당신의강력한패스워드!' \
   -p 1433:1433 --name mssql \
   -v ~/DBFile:/var/opt/mssql/data \
   -d mcr.microsoft.com/mssql/server:2022-latest

패스워드 규칙:

  • 8 자 이상, 대문자/소문자/숫자/특수문자 포함 필수

5. 방화벽 포트 오픈 (외부접속용)

만약 ufw 방화벽을 사용한다면:

sudo ufw allow 1433/tcp

6. 외부에서 접속 테스트

외부 Windows/Mac/리눅스에서

  • SQL Server Management Studio (SSMS),
  • Azure Data Studio,
  • 또는 sqlcmd 등으로
서버: <서버IP>,1433
사용자: sa
패스워드: 위에서 지정한 패스워드

7. 기타 참고

  • 실제 DB파일(.mdf, .ldf 등)은 모두 ~/DBFile에 생성/저장됩니다.
  • 컨테이너를 삭제해도 데이터는 남아있으니 백업/복구 용이합니다.
  • mssql 컨테이너 업그레이드 시 볼륨만 유지하면 데이터 그대로 사용 가능.

전체 요약

  1. Docker로 MSSQL 최신버전 실행
  2. 홈폴더 밑 DBFile 폴더에 실제 DB파일 저장
  3. 외부 1433 포트 열기
  4. 외부 PC에서 MSSQL 접속