Docker SQL Server 컨테이너 이미지에 데이터 베이스 백업 복원하기
다운로드
1 2
| docker pull mcr.microsoft.com/mssql/server:2017-latest
|
실행
<YourStrong!Passw0rd>
이부분을 자기가 아는 패스워드로 바꾸면 된다.
1 2 3 4 5
| docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' \ --name 'sql1' -p 1401:1433 \ -v sql1data:/var/opt/mssql \ -d mcr.microsoft.com/mssql/server:2017-latest
|
그리고 일단 윈도우용 bak 파일을 복원 시킬때 정상적으로 동작하지 않았다.
그래서 mdf파일과 ldf을 직접 임포트 시킬려고 했다.
일단 데이터 베이스를 생성 시켰다. 내가 만들고자고 하는 파일을명을 데이터 베이스와 동일하기에 데이터 베이스를 먼저 만들었다.
그런 다음 도커 컨테이너 파일에 가서 살펴 보면
1
| docker exec -i -t sql1 /bin/bash
|
지금 로그인 하면 쉘로 들어가는데 아래의 커멘드를 입력해보면
해당 폴더에 아래의 파일들이 생겼을것이다.
그다음에 도커 정지
그 다음에 도커로 파일 복사
1 2 3
| docker cp TEST.mdf sql1:/var/opt/mssql/data
docker cp TEST_log.ldf sql1:/var/opt/mssql/data
|
다시 실행
삭제
1 2 3 4
| docker stop sql1 docker rm sql1 docker rmi -f $(docker images -a -q) docker volume rm $(docker volume ls -q)
|
참조