개발 ━━━━━/Dev
[Docker] Docker Volume 을 이용한 MySQL 데이터 백업
GukJang
2024. 1. 11. 20:59
반응형
Ubuntu 에서 Docker 로 띄워놓은 MySQL 컨테이너의 데이터를 Docker Volume 을 만들어 관리하려 한다.
docker inspect mysql_컨테이너_ID
로 해당 컨테이너에 마운트 되어 있는 볼륨을 찾는다.
"Mounts" 부분에서 찾을 수 있다.
docker volume create 새로운_volume_이름
으로 새로운 볼륨을 생성해주고
docker run --rm -v 백업할_volume_이름:/from -v 새로_만든_volume_이름:/to alpine ash -c "cd /from && cp -av . /to"
• 백업할_볼륨_이름을 /from 경로에 마운트합니다.
• 새로_만든_볼륨_이름을 /to 경로에 마운트합니다.
• alpine 컨테이너를 시작하고, /from에서 /to로 모든 데이터를 복사합니다 (cp -av . /to).
명령어를 실행시켜주면 복사가 시작된다.
sudo ls /var/lib/docker/volumes/새로_생성한_volume_이름/_data
으로 복사된 데이터를 확인할 수 있고
Docker-Compose 를 사용한다면 mysql 부분에
volumes:
- ${MYSQL_DATA_PATH}:/var/lib/mysql
생성한 볼륨 위치를 지정해주고
컨테이너로 사용하고 있다면
-v 옵션으로 볼륨 위치를 지정해주고 컨테이너를 실행시켜주면 된다.
다시 docker inspect 컨테이너_ID 를 해주어 새로 생성한 볼륨이 정상적으로 마운트 되어 있는지 확인한다.
반응형