1. 도커 컴포즈 파일 작성하기
MSSQL은 아래와 같은 설정으로 docker-compose.yml 파일을 작성할 수 있다.
services:
sqlserver:
image: mcr.microsoft.com/mssql/server:2022-latest
user: root
restart: always
container_name: mssql2022
ports:
- 1433:1433
volumes:
- ./db/mssql/data:/var/opt/mssql/data
environment:
ACCEPT_EULA: Y
MSSQL_SA_PASSWORD: developer123!@
TZ: Asia/Seoul
sqlserver:
image: mcr.microsoft.com/mssql/server:2022-latest
user: root
restart: always
container_name: mssql2022
ports:
- 1433:1433
volumes:
- ./db/mssql/data:/var/opt/mssql/data
environment:
ACCEPT_EULA: Y
MSSQL_SA_PASSWORD: developer123!@
TZ: Asia/Seoul
- user(root 계정) 반드시 설정(안하면 permission error 발생)
- restart는 오류 발생시 재시작 여부 또는 첫 부팅시 자동 실행 여부. Docker 시작될 시에 컨테이너가 자동으로 시작되게 하고 싶으면(컴퓨터를 켜고 docker를 실행만 하면 MSSQL을 쓰게 하고 싶으면 always를 넣자)
- container_name 원하는 이름으로 설정
- port는 1433:1433으로 맵핑(MSSQL 기본 포트 번호는 1433)
- volumes => 컨테이너 내부 데이터를 디스크와 공유하기 위해 volume 설정
- 그외 필요한 environment(환경 변수) 설정
- ACCEPT_EULA : 최종 사용자 사용권 계약 수락을 확인하기 위해 ACCEPT_EULA 변수를 어떤 값에 설정.
- MSSQL_SA_PASSWORD : 8자 이상이고 SQL Server 암호 요구 사항을 충족하는 자신만의 강력한 암호를 지정.
- TZ : 도커 컨테이너 타임존 설정
2. 도커 컨테이너 생성하기
① 바탕화면 또는 시작 메뉴에 Docker Desktop 링크를 클릭해 Docker Desktop을 실행한다.


② 터미널에서 docker-compose.yml 파일이 있는 위치로 이동하여 아래와 같은 명령어를 실행한다.
PS E:\docker> docker-compose -p db up -d
③ 해당 컨테이너가 제대로 생성되었는지 아래와 같은 명령어로 컨테이너 목록을 확인한다.
PS E:\docker> docker ps

④ Docker Desktop에서 실행 중인 것을 확인할 수 있다.

⑤ 컨테이너 진입하여 접속 확인
PS E:\docker> docker exec -it mssql2022 /opt/mssql-tools/bin/sqlcmd -S localhost -U sa
Password:
1>
Password:
1>
3. SSMS(SQL Server Management Studio)를 통해 접속 확인
① 위에서 설정한 계정(sa) 접속 정보를 입력한 후 접속을 시도

② 정상적으로 진행이 잘 되었다면 아래 사진처럼 접속이 완료
- 쿼리 분석기에서 아래 쿼리로 버전 확인
SELECT @@VERSION AS [VERSION];

- 쿼리 분석기에서 아래 쿼리로 현재 타임존, 일시 확인
SELECT CURRENT_TIMEZONE() AS [CUR_TIMEZONE], GETDATE() AS [CUR_DATETIME];

728x90
반응형
'Docker' 카테고리의 다른 글
[Docker] 도커 파일 저장 위치 (0) | 2025.02.19 |
---|---|
[Docker] 윈도우에 도커로 젠킨스 설치 (0) | 2025.02.19 |
[Docker] 윈도우에 도커로 REDIS 설치하고 접속하기 (0) | 2025.02.19 |
[Docker] 윈도우에 도커로 MYSQL 설치하고 접속하기 (0) | 2025.02.19 |
[Docker] 도커 사용법 - 명령어 (0) | 2025.02.19 |