728x90
반응형
읽기 전용 볼륨 살펴보기
Docker 볼륨의 읽기/쓰기 권한 관리
읽기 전용(Read-Only) 바인드 마운트
기본 설정
docker run -v /host/path:/app:ro
- :ro 플래그: 읽기 전용(read-only) 설정
- 컨테이너가 바인드 마운트된 폴더 수정 불가
- 호스트 시스템에서만 수정 가능
볼륨 우선순위와 권한 관리
전체 프로젝트 폴더 (읽기 전용)
-v "/local/path:/app:ro"
특정 폴더 쓰기 허용
-v feedback:/app/feedback # 명명된 볼륨
-v /app/temp # 익명 볼륨
-v /app/node_modules # 익명 볼륨
더 구체적인 하위 볼륨을 특정한다면 그 하위 볼륨이 메인 볼륨보다 더 우선한다고 할 수 있다.
**[bind mount의 /app 경로보다, 익명 볼륨의 /app/temp, /app/node_modules 경로가 더 특정되어있어 우선된다.]
마인드 바운트에 바인딩한 /app 폴더보다 익명볼륨과 명명볼륨에 바인딩한 /app/feedback, /app/node_modules가 그렇다.
완전한 실행 예시
docker run -d --rm \ // detached 모드, 컨테이너 종료시 자동 삭제
-p 3000:80 \ // 포트 설정
--name feedback-app \ // 컨테이너 이름 설정
-v feedback:/app/feedback \ // 명명 볼륨 설정
-v "/local/path:/app:ro" \ // 바인드 마운트 설정
-v /app/node_modules \ // 익명 볼륨 설정
-v /app/temp \ // 익명 볼륨 설정
feedback-node:volumes // 이미지 이름
주요 특징
권한 계층
- 더 구체적인 경로가 상위 경로의 권한 재정의
- 하위 볼륨이 상위 볼륨의 읽기 전용 설정 무시 가능
용도별 설정
- 소스 코드 : 읽기 전용 -- 바인드 마운트
- 데이터 저장 폴더 : 읽기/쓰기 가능 -- 명명 볼륨, 익명 볼륨
- 임시 폴더 : 익명 볼륨으로 관리 -- 익명 볼륨
효율성
- 필요한 폴더만 쓰기 권한 부여
- 불필요한 파일 수정 방지
- 컨테이너 보안 강화
이러한 설정으로 개발 환경에서 안전하고 효율적인 파일 시스템 관리가 가능합니다.
참고
728x90
반응형
'강의 > Docker & Kubernetes : 실전 가이드' 카테고리의 다른 글
[59] COPY 사용 vs 바인드 마운트 사용 (0) | 2025.02.23 |
---|---|
[58] Docker 볼륨 관리하기 (0) | 2025.02.23 |
[55] NodeJS 특화 조정 : 컨테이너에서 Nodemon 사용하기 (0) | 2025.02.22 |
[52, 53, 54] 바인드 마운트 (bind mount) 시작하기 (0) | 2025.02.22 |
[50] 명명된(name) 볼륨으로 구조하기! (0) | 2025.02.22 |
댓글