아래에 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 컨테이너 업그레이드 시 볼륨만 유지하면 데이터 그대로 사용 가능.
전체 요약
- Docker로 MSSQL 최신버전 실행
- 홈폴더 밑 DBFile 폴더에 실제 DB파일 저장
- 외부 1433 포트 열기
- 외부 PC에서 MSSQL 접속