• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    해결됨

docker volumns의 db_data에 저장한 내용을 밖으로 뺴내려면 (dump) ??

21.04.09 16:41 작성 조회수 42

1

삭제된 글입니다

답변 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 와 같은 명령어를 실행하면 데이터를 덤프할 수 있을 겁니다.

hhglng님의 프로필

hhglng

질문자

2021.04.15

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