컨테이너를 생성할 때 -v 옵션을 주면 내 컴퓨터의 디렉토리와 컨테이너의 디렉토리를 연결할 수 있다.
docker run -d -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=true -v /로컬경로:/var/lib/mysql mysql:5.7
이렇게 하고 mysql에서 test_db라는 데이터베이스를 생성하고 테이블을 만들어줬다. 로컬 경로에도 데이터가 생성된걸 볼 수 있다.
여기서 mysql 컨테이너를 삭제하게 되면 컨테이너의 데이터는 사라지겠지만 로컬의 데이터는 남아있다.
기존의 mysql 컨테이너를 삭제하고 재생성하는데 이때 위와 동일하게 -v 옵션을 준다. 그리고 접속해보면...
짠! 로컬의 경로에 저장된 데이터 때문에 새로 생성된 DB 컨테이너에도 test_db가 있는걸 확인할 수 있다.