티스토리 뷰

728x90

 

1. 익명볼륨 (Anonymous Volume)

- 도커 시스템에 의해 관리됨

- --rm으로 시작 된 컨테이너가 중지 될 때 제거된다.

- 컨테이너간에 공유 할 수 없다

- 컨테이너에 이미 존재하는 특정 데이터를 잠그는데 유용 -> 데이터가 다른 모듈에 의해 덮어쓰여지는 것을 방지하는데 유용

- 외부 경로보다 컨테이너 내부 경로의 우선순위를 높이는데 사용된다.

-v /app/data

2. 명명된 볼륨 (Named Volume)

- 컨테이너를 종료하고 삭제해도 유지된다.

- 다수의 다양한 컨테이너에서 동일하게 명명된 볼륨 하나를 마운트 할 수 있다 -> 컨테이너간 데이터 공유가 가능하다

-v test_data:/app/data

 

* 볼륨 리스트 확인

docker voluems list

3. 바인드 마운트 (Bind Mount)

- 호스트 머신의 파일 시스템에 존재하며, 특정한 컨테이너에 국한되지 않는다.

- 컨테이너를 종료하고 삭제해도 유지된다.

- 다수의 다양한 컨테이너에서 동일하게 명명된 볼륨 하나를 마운트 할 수 있다 -> 컨테이너간 데이터 공유가 가능하다

- 도커 명령어로는 삭제 할 수 없으며, 프로젝트 내의 모든 로컬 데이터를 삭제해야만 컨테이너의 모든 데이터를 제거 할 수 있다.

-v /path/test/code:/app/data/code

⚠️ volume과 bind mount의 기본 값은 read-write이다.

그러나, 우리가 파일을 변경 할 수 있는 곳은 호스트 머신 파일 시스템이지 컨테이너 내부가 아니다. 컨테이너 내부에서는 파일을 변경해서는 안되기 때문에, 볼륨 및 바운드마운트를 읽기전용으로 변경하는 것이 좋다.

내부 경로 뒤에 :ro 를 추가하여 제한 할 수 있다.

-v /path/test/code:/app/data/code:ro
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함