인프런 커뮤니티 질문&답변
답변 1
0
너굴
지식공유자
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 와 같은 명령어를 실행하면 데이터를 덤프할 수 있을 겁니다.





정말 감사합니다! 큰 도움이 되었습니다. :)