본문 바로가기
개발/Docker

Docker volume, mount 개념

by meanjung 2022. 1. 14.

AFL++을 도커로 실행하고자 했다.

근데 퍼징을 진행하기 위해서는 다른 프로그램을 다운받아서 해당 프로그램을 퍼징해야했다.

 

이때 다른 프로그램(바이너리)을 다운받아서 어떻게 도커환경의 AFL++에 전달해줄 수 있을까?

 

 

답은 Docker 컨테이너에 데이터를 영속적으로 저장할 수 있도록 하는 docker의 두 가지 옵션이다.

1. docker volume

2. bind mount

 

1. docker mount

docker volume create <volume 이름>

docker volume ls

docker volume inspect <volume 이름>

  • Mountpoint를 보면 해당 볼륨이 내 컴퓨터의 어느 경로에 생성되었는지 알 수 있다. 

볼륨을 컨테이너에 마운트하려면

docker run -v my-vol:/app [run할 docker image] touch /app/test.txt

=> /app에도 test.txt가 있고, /var/lib/docker/volumes/my-vil/_data에도 test.txt가 있다.

 

볼륨을 삭제하려면

docker volume rm my-vol

 

마운트되어있지 않은 모든 볼륨을 한번에 제거한다.

docker volume prune

 

 

2. bind mount

볼륨을 만들지 않고 host 파일 시스템의 특정 경로를 컨테이너로 바로 마운트할 수 있다. 

 

docker run -v `pwd`:/src -it [run할 docker image]

 

호스트 컴의 현재 경로(pwd)에 test.txt를 생성하면 컨테이너의 /src 경로에 test.txt가 생성된다.

 


https://www.daleseo.com/docker-volumes-bind-mounts/

 

Docker 컨테이너에 데이터 저장 (볼륨/바인드 마운트)

Engineering Blog by Dale Seo

www.daleseo.com

 

'개발 > Docker' 카테고리의 다른 글

docker save, load  (0) 2021.11.17
docker image build & docker-compose up  (0) 2021.10.15
docker, docker-compose  (0) 2021.08.12
가상화방식의 역사(docker의 등장까지)  (0) 2021.08.12
docker-compose 개념 및 참고자료  (0) 2021.08.08

댓글