brunch
매거진 배포

Docker - Storage

데이터 잘 저장하기 #Volume #Bind mounts

by 내가 사는 세상

volume은 부피, 용량, 대량을 의미한다. 도커 컨테이너에서 만들어진 데이터를 고이 모셔둘 때 필요하다. 컨테이너에서 생겨난 데이터는 컨테이너가 죽어버리면 다 사라진다. 그러면 안 된다. 중요한 정보는 잘 지켜내야한다. 해당 기능을 하는 Volume과 Bind mounts를 살펴보자.



Volume


- 호스트 서버(리눅스)에 있는 Docker's storage directory에 저장된다. 그리고 도커가 이를 직접 관린한다.

- 사용할 때 : -v

--volume

--mount='type=volume

- 코드로 설정

services:

frontend:

image: node:lts

volumes:

- my_volume:/home/node/app


volumes:

my_volume:

external: true


- 예시 : 장고의 static과 media 관련 파일을 도커 저장소에 넣어두고 관리할 때


volume 삭제하기

docker volume prune : 사용하지 않는 volume 전부 삭제

docker volume prune --all : 사용하는 volume까지 전부 삭제




Bind mounts


- 호스트 서버(리눅스)에서 절대경로로 관리된다. 도커에서 직접 관리하는 volume보단 기능이 적을 수 밖에 없다.

- 사용할 때: --mount type=bind





참고자료


https://docs.docker.com/storage/volumes/

https://docs.docker.com/storage/bind-mounts/

keyword
매거진의 이전글Git