본문 바로가기

Development Tools/Docker

[ Docker ] Docker Volumes 관리

Docker Compose 파일의 경우 아래와 같은 구문들을 종종 발견할 수 있다.

해당 구문에서 { driver: local } 는 도커가 관리하는 기본 시스템 경로에 데이터를 저장한다는 의미이다.

volumes:
  mongodb_data: { driver: local }

mongodb:
    image: docker.io/bitnami/mongodb:${MONGODB_VERSION:-5.0}
    restart: always
    volumes:
      - mongodb_data:/bitnami/mongodb

 

위와 같이 mongodb_data 에 저장을 한다고 하고 실행하였을 경우 해당 경로는
docker compose 파일을 실행한 경로(e.g. /tmp) 명을 접두어로 붙인 폴더로 저장된다.
Docker Desktop 어플리케이션의 Volumes 에서 확인할 수 있다.

 

해당 어플리케이션에서 직접 확인도 가능하지만 Docker 명령어를 통하여도 확인가능하다.

docker volume ls


로 볼륨 명을 확인하고 작은 컨테이너를 생성 및 연결하여 확인 가능하다.

# busybox:uclibc 1mb 정도의 크기를 차지하는 작은 컨테이너
# 컨테이너의 /mnt 폴더와 tmp_mongodb_data를 연동
docker run --rm -it -v tmp_mongodb_data:/mnt busybox:uclibc sh

cd /mnt

# /mnt 폴더 트리 형태로 조회
find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'