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' 카테고리의 다른 글
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 |
댓글