Post

3. Docker Volume 사용 방법

3. Docker Volume 사용 방법

가이드

0. Docker 시작하기


Docker Volume

Docker 볼륨은 컨테이너의 데이터를 지속적으로 저장하고 관리하는 기능을 제공합니다. 컨테이너가 삭제되더라도 볼륨에 저장된 데이터는 유지됩니다. 다만, 직접 볼륨을 삭제하면 데이터도 함께 제거됩니다.

1) 볼륨 생성

1
docker volume create <생성할 볼륨 이름>

새로운 Docker 볼륨을 생성합니다.

2) 볼륨 리스트 확인

1
docker volume ls

현재 생성된 볼륨 목록을 확인할 수 있습니다.

3) 볼륨 삭제

1
docker volume rm <삭제할 볼륨 이름>

지정한 볼륨을 삭제합니다. 해당 볼륨을 사용하는 컨테이너가 존재하면 삭제할 수 없습니다.

4) 컨테이너 생성시 볼륨 연결

1
docker run -v <볼륨 이름>:<컨테이너 내부의 디렉토리 경로> python
  • 컨테이너를 생성할 때, 볼륨을 컨테이너 내부의 특정 경로와 연결할 수 있습니다.
  • 컨테이너 내부의 지정된 경로에 있는 기존 파일들은 모두 삭제되고, 볼륨의 파일로 대체됩니다.

5) 볼륨 상세 정보 확인

1
docker volume inspect <볼륨 이름>

볼륨의 경로 및 상세 정보를 확인할 수 있습니다.

6) 사용하지 않는 볼륨 정리

1
docker volume prune

사용되지 않는 모든 볼륨을 삭제하여 디스크 공간을 확보합니다.


바인드 마운트 (Bind Mount)

Docker에서는 볼륨을 생성하지 않고도 호스트의 특정 디렉토리를 컨테이너 내부의 디렉토리와 연결할 수 있습니다. 이를 바인드 마운트(Bind Mount)라고 합니다.

1
docker run -v <호스트의 디렉토리 경로>:<컨테이너 내부의 디렉토리 경로> python

예를 들어, python 컨테이너를 실행할 때 호스트의 특정 디렉토리를 컨테이너 내부에 마운트하면, 개발자가 작성한 스크립트 파일을 호스트에서 직접 관리하면서도 컨테이너 환경에서 실행할 수 있습니다. 이를 활용하면 가상 환경에서 작업한 후, 호스트 환경에서 Git을 이용해 코드만 버전 관리할 수 있으며, 컨테이너를 재설정하거나 삭제하더라도 호스트의 파일은 안전하게 유지됩니다.

바인드 마운트의 특징

  • 호스트 파일 직접 접근: 호스트의 특정 디렉토리를 컨테이너 내부에 직접 연결합니다.
  • 실시간 데이터 반영: 호스트와 컨테이너 간 파일 변경 사항이 즉시 동기화됩니다.
  • 유연한 데이터 관리: 컨테이너가 종료되거나 삭제되어도 호스트에 있는 파일은 그대로 유지됩니다.
  • 보안 및 관리 고려 필요: 컨테이너에서 호스트 파일을 직접 수정할 수 있어, 잘못된 설정 시 보안 위험이 발생할 수 있습니다.

바인드 마운트는 간단하고 강력한 기능이지만, 호스트 파일 시스템과 직접적으로 연결되기 때문에, 사용 시 주의가 필요합니다. 보안이 중요한 경우에는 Docker 볼륨(Volume) 을 활용하는 것도 고려할 수 있습니다.

This post is licensed under CC BY 4.0 by the author.