Dockerfile 기반 환경 세팅
System Hacking - Dockerfile 기반 환경 세팅
1. Dockerfile
CTF 문제를 풀다보면 서버와 같은 환경을 쉽게 맞춰주기 위해 Dockerfile이 제공된다. 이걸 기반으로 서버와 동일한 환경에서 exploit을 연습할 수 있다.
2. 환경 세팅
2.1. Docker image 빌드
먼저 docker 이미지를 빌드하자.
docker build -t [image name] .
2.2. Docker 컨테이너 실행
docker run -d -p 9999:9999 --name [container name] [image name]
여기서 각 옵션은 아래와 같다.
- -d: 백그라운드 실행
- -p 9999:9999: 포트포워딩 (컨테이너 내부의 9999포트를 외부에서도 접근 가능하도록)
- –name [container name]: 컨테이너 이름 세팅
여기서 포트는 대부분 Dockerfile에 지정되어 있을 것이다.
2.3. 컨테이너 상태 확인/조작
docker ps # 실행 중인 컨테이너 목록
docker logs [container name] # 로그 보기
docker exec -it [container name] /bin/bash # 컨테이너 안에 bash로 진입
docker stop [container name]
docker rm [container name]
docker rmi [image name] # 이미지 삭제 (선택)
container name
과 image name
대신에 각각의 id
를 사용하기도 한다.