-
[Docker] mysql 볼륨 설정Server&Infra/Docker 2024. 9. 20. 22:32728x90
이번 게시글에서는 도커 mysql에 볼륨을 설정하여, 볼륨에 데이터가 보존되는지 확인해볼 것이다.
목표.
1. docker에서 mysql 이미지를 다운로드 받아 볼륨을 설정하고 컨테이너를 실행한다.
2. mysql 컨테이너에 확인용 데이터를 주입한다.
3. 기존 컨테이너를 내리고, 새로운 컨테이너에 볼륨을 설정하고 실행한다.
4. 볼륨에 데이터가 보존되어있는지 확인한다.
docker hub에서 mysql 이미지를 다운로드 받는다. 실습을 위해 mysql 5.7 버전을 사용한다.
https://hub.docker.com/_/mysql/tags?page_size=&ordering=&name=5.7
# docker pull mysql:5.7
mysql:5.7 이미지 다운로드 제대로 다운로드 되었는지 확인하고 mysql 컨테이너를 실행한다.
도커 이미지 확인 mysql 컨테이너를 실행할 때는 db root 패스워드를 나타내는 MYSQL_ROOT_PASSWORD를 인수로 선언해준다.
MYSQL_ROOT_PASSWORD 인수 선언 mysql 컨테이너로 접속하여, DB 데이터가 쌓이는 경로를 확인한다.
mysql 컨테이너 접속 /etc/my.cnf 파일을 확인해보면, DB 정보를 볼 수 있다.
# cat /etc/my.cnf datadir=/var/lib/mysql
my.cnf 파일 DB 데이터가 /var/lib/mysql에 저장되는 것을 확인하였고, 이 경로는 컨테이너 볼륨 마운트 경로가 될 것이다.
다시 메인 호스트 서버로 빠져나와 이전 컨테이너를 삭제하고 마운트 대상이 될 경로를 생성, 경로를 볼륨 마운트 경로로 설정하여, 컨테이너를 다시 실행해준다.
볼륨경로 생성 # docker run -d --name mydb -v /root/database:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mypass mysql:5.7
여기서 볼륨 설정은 볼륨을 생성하지않고 바로 볼륨 경로를 입력하여 설정 가능하다.
컨테이너에 정상적으로 볼륨이 마운트 되면, 아래와 같이 마운트된 것을 확인 할 수 있다.
마운트 확인 이제 mysql 컨테이너로 접속하여, DB에 접속 후 임의 데이터를 생성해 볼 것이다.
mysql 접속 DB 확인 mydb DB 생성 DB 생성 확인 mydb 사용 mytable 테이블 생성 mytable 정보 확인 임의 데이터 입력 DB(mydb), Table(mytable)를 생성하고 임의 데이터도 입력하였다.
이제 다시 메인 호스트 서버로 빠져 나와 볼륨 경로에 데이터가 저장되어있는지 확인한다.
볼륨 경로에 정상적으로 DB 데이터가 저장되어있다. 동일한 볼륨 경로를 설정하여, mysql 컨테이너를 실행하고 DB에 접속하여 DB 데이터가 정상적으로 남아있는지 확인한다.
mysql 컨테이너(mydb2) 실행 mydb2 컨테이너에 DB를 접속해보면, 데이터가 유지되어있는 것을 확인할 수 있다.
728x90'Server&Infra > Docker' 카테고리의 다른 글
[Docker] httpd 웹 접속하기 (0) 2024.09.19 [Docker] 볼륨(volume) 마운트하기 (0) 2024.09.17 [Docker] 이미지 다루기 (0) 2024.09.15 [Docker] 컨테이너 다루기(3) - 중지/삭제하기 (0) 2024.09.14 [Docker] 컨테이너 다루기(2) - 실행하기 (2) 2024.09.13