MongoDB Docker 내장기능으로 백업하기

MongoDB Docker 백업하기

MongoDB 를 백업하려면 mongodump 명령어를 사용해야 한다.
MongoDB 도커에 exec 로 접속해서 mongodump 명령어를 사용할 수 있다.
매번 접속해서 명령어를 날리기 불편하므로, 도커 컨테이너 밖에서 사용할 수 있는 sh -c 명령어를 통해서 /bin/bash 로 도커 안으로 접속하지 않고도 사용할 수 있도록 명령어를 작성했다.
해당 명령어를 crontab 에 작성해놓아도 잘 실행된다.


1. mongodb volume 설정
  • docker run 컨테이너 실행 시 -v 옵션으로 volume 설정을 한다.
  • mongodump 결과물을 저장하고 싶은 곳으로 설정한다.
ex) -v /backup/tmp:/backup/tmp

 

2. docker exec 명령어 실행
  • mongod-server : docker container 이름
  • -u 0 : root 로 실행
  • DBNAME, USERNAME, PASSWORD 에 mongodump 할 mongodb 계정정보 입력
  • -o : mongodb 백업 파일을 저장할 위치
    • -v 옵션으로 volume 설정한 위치로 지정한다.
docker exec -u 0  mongod-server sh -c "mongodump --db DBNAME --username USERNAME --password PASSWORD -o /backup/tmp"

 

댓글

Designed by JB FACTORY