Docker Volume

HoyongLee·2023년 2월 10일
0

Volume

데이터를 영구적으로 저장하기 위한 방법이다. Volume은 도커에 의해 관리된다.

  • 장점
    • 백업과 마이그레이션이 쉽다.
    • Docker API와 CLI를 통해 볼륨을 조작할 수 있다.
    • 여러 컨테이너 간의 볼륨을 안전하게 공유할 수 있다.(컨테이너 별로 관리하기 때문에 안전하다는 뜻 같음. 아닌가...?)
      ...

MySql DB 생성을 통한 간단한 실습


MySql을 컨테이너로 띄우고 testdb 를 생성한다.

docker inspect mysql 명령어를 통해 Volume을 확인하면, /var/lib/mysql으로 설정한 것을 알 수 있다.

마운트 한 위치 또한 알 수 있다.

MySql 컨테이너를 제거하고 다시 생성하면, 생성했던 testdb 데이터베이스가 없다.

컨테이너를 다시 올리게 되면, 임의의 새 볼륨을 생성하여 다시 마운트한다.

따라서 이전에 데이터베이스를 생성했던 컨테이너가 마운트하던 볼륨의 이름을 명시하여 컨테이너를 실행해보았다.

sudo docker run --rm -d --name mysql -e MYSQL_ROOT_PASSWORD=Miracle! -v {볼륨명}:/var/lib/mysql mysql:latest

이전에 생성했던 testdb가 존재하는 것을 확인할 수 있다.

볼륨에 이름을 붙여 명시적으로 생성하여 마운트 할 수도 있다!!!

위에 보면 bind mount, volume, tmpfs mount가 있는데 그 차이에 대해서도 알아봐야겠다.


참고자료

profile
아직 반지하

0개의 댓글

관련 채용 정보