[Docker] 도커 볼륨 바인드 마운트 생성과 삭제
- 운영체제/도커
- 2025. 3. 10.
도커 볼륨의 종류
▼ 1. 익명 볼륨(Anonymous Volume)
명시적 이름이 없이 도커가 자체적으로 이름을 만들어서 생성합니다. 컨테이너 삭제시 볼륨도 함께 사라집니다. 컨테이너를 실행할 때만 필요한 임시 데이터라면 익명 볼륨을 사용하는 것이 좋습니다.
▼ 2. 명시적 볼륨 (Managed Volume)
도커 자체적으로 관리하는 볼륨으로 컨테이너가 삭제되더라도 데이터가 유지되는 특징이 있습니다. 때문에 컨테이너끼리 쉽게 공유가 가능합니다. 운영 환경에서 데이터의 영속성을 원한다면 명시적 볼륨을 사용합니다. 또한 익명의 볼륨과 달리 DockerFile 에서 생성이 불가능합니다. -v 옵션으로만 생성이 가능하고 특정 컨테이너와 연결되어 있지 않습니다. 때문에 컨테이너 간의 공유가 가능합니다.
▼ 3. 바인드 마운트(Bind Mount)
호스트의 특정 디렉토리를 컨테이너 내부에 마운트 하기 때문에 컨테이너가 삭제되더라도 호스트의 디렉토리는 그대로 유지가 가능합니다. 개발 환경에서 주로 사용되며 소스를 변경하면서 적용 및 테스트가 수월합니다.
마운트 방식 특징
마운트 방식 | 경로 | 데이터 유지 | 호스트 접근 | 주요 사용처 |
명시적 볼륨 | /var/lib/docker/volumes/ | O (컨테이너 삭제 후에도 유지) | 직접 접근 어려움 | 운영 환경, 데이터 공유 |
익명 볼륨 | /var/lib/docker/volumes/<random-id>/ | O (컨테이너 삭제 시 유지, 하지만 관리 어려움) | 불가 | 임시 데이터 저장 |
바인드 마운트 | 호스트의 특정 디렉토리 (/host/path) | O (컨테이너 삭제와 무관) | 가능 | 개발 환경, 로컬 테스트 |
볼륨 생성, 조회, 검사 삭제
▼ 1. 도커 볼륨 관련 명령어
▼ 2. 도커 볼륨 조회 - 볼륨은 도커에 의해 관리됩니다.
▼ 3. 도커 볼륨 생성에 관련된 명령어
▼ 4. 도커 볼륨 생성하기
▼ 5. 도커 볼륨 검사 - 마운트 포인트 (Mountpoint)는 실제 물리적 위치가 아니라 가상 머신 내부에 있는 위치입니다.
▼ 6. 도커 볼륨 삭제 - 사용중인 볼륨은 중지(stop)한 뒤에 제거할 수 있습니다.
▼ 7. 사용하지 않는 모든 볼륨 제거
바인드 마운트 사용시 주의할 점
절대 경로를 사용하는 바인드 마운트는 Dockerfile 을 생성할 때 `COPY . .` 명령을 사용하지 않아도 `/app` 위치의 전체를 마운트 한다면 아무런 문제 없이 동작할 것입니다. 하지만 프로덕션 앱을 배포할 때는 절대 경로를 사용할 것도 아니고 바인드 마운트 하는 이유도 의미가 없기 때문에 `COPY . .` 를 통해 스냅샷을 복하해야 합니다.
'운영체제 > 도커' 카테고리의 다른 글
[Docker] 도커 이미지 푸시하기 (0) | 2025.03.08 |
---|---|
[Docker] 도커 우분투 systemctl, sbin/init 명령 가능한 이미지 만들기 (0) | 2022.11.07 |
[Docker] 도커에서 MySQL 영구적인 볼륨 패스워드 컨테이너 설치 (0) | 2022.09.12 |