-
카테고리
-
세부 분야
데브옵스 · 인프라
-
해결 여부
해결됨
docker volumns의 db_data에 저장한 내용을 밖으로 뺴내려면 (dump) ??
21.04.09 16:41 작성 조회수 42
1
삭제된 글입니다
답변을 작성해보세요.
0
너굴
지식공유자2021.04.12
mysql의 데이터를 docker의 가상 디스크에 저장하셨고, 이 데이터를 밖으로 빼내고 싶다는 말씀이시죠?
두 가지 방법을 떠올려보았습니다.
1. mysql 컨테이너 내부에서 작업하는 방법
mysql 컨테이너를 실행할 때 데이터용 볼륨 외에 호스트 디렉터리도 마운트합니다.
이를 테면, 컨테이너를 실행하는 현재 위치에 backup이라는 디렉터리를 만든 후 다음과 같이 컨테이너 설정을 바꾸고 실행합니다.
mysql:
volumes:
- db_data:/var/lib/mysql
- ./backup:/backup
이후 mysql 컨테이너 내부에서 데이터를 덤프하는 명령을 실행하고, 그 결과물을 /backup 폴더로 옮기면 dump 데이터를 호스트 컴퓨터의 backup 디렉터리에서도 볼 수 있을 겁니다.
2. mysql 컨테이너 외부에서 작업하는 방법
mysql 컨테이너에 접속할 포트를 연결해두셨다면, 이 포트를 사용해서 호스트 컴퓨터에서 mysql dump 명령어를 실행하시면 됩니다.
예를 들어 다음과 같은 설정이라고 가정하겠습니다.
mysql:
ports:
- 13306:3306
이 설정으로 컨테이너를 실행한 후, 호스트 컴퓨터에서 mysqldump -u {username} -p --host localhost --port 13306 > dump.db 와 같은 명령어를 실행하면 데이터를 덤프할 수 있을 겁니다.
답변 1