DevOps/Docker

[Docker] volume mount 명령어

석석's 2021. 10. 14. 20:02

도커는 특성상 컨테이너가 삭제되면 그 안에있던 데이터들도 모두 날아간다.

내가 테스트 해본결과 mysql 컨테이너를 삭제하면 그안에 있던 wordpress 데이터가 날아가는걸 확인했다.

그래서 컨테이너를 삭제하더라도 유지시키고 싶으면 "-v" 옵션을 사용해야한다.

 

 

 volume mount 명령어
  - "-v" 명령어를 이용하여 데이터를 유지시키고 싶을때 사용한다.
    (도커는 컨테이너를 삭제하면 안에 있는 데이터도 모두 날아가기에 유지시키고 싶으면 이 명령어를 사용해야한다.)

  - docker run -d -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=true --name mysql -v 로컬경로:도커 컨테이너

     의경로 컨테이너명
    (docker run -d -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=true --name mysql -v /F/datadir:/var/lib/mysql mysql:5.7)

 

로컬경로와  mysql 컨테이너의 경로를 연결시켜 mysql 컨테이너를 실행시킨 모습

 

아래 사진과 같이 매핑한 로컬경로에 파일들이 마구 생성되어있다..


   

이렇게 하면 도커 컨테이너의경로인 /var/lib/mysql 경로에 있는 파일들을 내 로컬경로인 F/datadir 에 연결시켜서 백업의 효과를 볼 수있다!

 

 

DB생성 하기

create database wp CHARACTER SET utf8;
grant all privileges on wp.* to wp@'%' identified by 'wp';
flush privileges;
quit

 

 

글 데이터 하나 남긴모습

 

 

mysql 컨테이너 삭제 했다가 다시 만들기

 

mysql 삭제

 

 

 

mysql을 삭제해도 내 호스트의 경로에는 데이터가 남아있는 모습

 

 

mysql을 내 호스트 경로와 연결시켜 다시 실행시킨 모습

 

 

글 데이터가 보존되어 있는 모습