도커 파일, 도커 컴포즈
수동으로 도커 컨테이너를 다운로드
•도커 파일(Apache2 서버 및 PHP)
관리하기 쉽게 디렉터리 별로 하나씩 관리
Dockerfile의 이름은 약속
파일의 내용은 위에서 부터 아래로 명령이 진행
Dockerfile 이 있는 곳에서 빌드해야 함
. 은 현재 디렉토리 파일에서 가져와서 docker_web이름으로 빌드
※ Dockerfile을 다른 이름으로 저장을 하면 . 이 아닌 -f 옵션을 줌
도커 파일의 이미지가 잘 생성되었는지 확인
docker_web으로 만든 이미지를 8000 포트로 실행
Dockerfile의 내용 부분 중 RUN echo 'Docker Web Application' > /var/www/html/index.html 이 실행이 되는지 확인
Dockerfile의 내용 부분 중 RUN echo '<? php phpinfo();?>' > /var/www/html/phpinfo.php 이 실행이 되는지 확인
•도커 파일을 활용한 nginx 빌드
관리를 쉽게 하기 위해 web_nginx 디렉터리 생성
Dockerfile 파일을 현재 위치에 docker_nginx 이름으로 빌드
docker_nginx 이미지가 생성 되었는지 확인
docker_nginx 이미지 8001포트로 실행
도커 컨테이너가 잘 실행이 되는지 확인
도커 컨테이너 시스템 안에 들어와서 index.html 파일을 수정
docker_nginx 이미지 기록 표시
•도커 컴포즈를 활용한 웹 서비스 구축
‣ 다중 컨테이너 애플리케이션을 관리할 수 있는 실행 도구
도커 컴포즈를 설치
•도커 컴포즈 DB
DB를 관리를 쉽게하기 위해 db-test 디렉터리 생성
docker-compose.yaml 파일 이름 또한 하나의 약속이다.
도커 컴포즈를 실행
3306포트로 mariadb:10.4.6가 실행이 되는 걸 확인
도커 컴포드 프로세스 확인
exec 명령어를 사용해 시스템에 접속
mysql -uroot -p로 접속 password는 docker-compose.yaml 파일에 있는 내용 MYSQL_ROOT_PASSWORD: mypass
docker-compose.yaml 파일에 있는 내용 중 MYSQL_DATABASE: wordpress이 잘 실행되었는지 확인
•워드 프레스 및 DB 구축
워드프레스 및 DB을 쉽게 관리하기위해 web_db 디렉터리 생성
첫 번째 environment는 DB에 관한 정보이고 두 번째 environment는 wordpress db에 관한 정보
도커 컴포즈가 실행이 되는지 프로세스 확인
워드프레스가 동작이 잘 되는지 확인
•도커 컴포즈 활용한 Load Balancer
‣ 3개의 웹서비스 생성
도커 컴포즈의 프로젝트를 관리할 폴더를 생성 (project)
3개의 도커파일을 저장할 폴더를 생성 (web01, web02, web03)
각 도커파일 Dockerfile을 각 폴더에 하나씩 생성 Docker Web Application01, Docker Web Application02.... index.html수정
project 폴더에 docker-compose.yaml을 만들어서 build를 각각 수행
도커 컴포즈 실행
‣ Load Balancer
로드밸런싱을 하기 위한 nginx 컨테이너를 생성을 해야 하기 때문에 nginx_alb 디렉터리 생성
Dockerfile 및 nginx.conf 파일 생성
도커 컴포즈를 실행
3개의 웹서비스가 새로고침을 할때 마다 변경이 됨
'Rookies 9기 > 클라우드 취약점 진단 및 대응 실무' 카테고리의 다른 글
취약점 진단 및 대응 실무 5일차 (1) | 2022.10.21 |
---|---|
취약점 진단 및 대응 실무 3일차 (0) | 2022.10.19 |
취약점 진단 및 대응 실무 2일차 (0) | 2022.10.18 |
취약점 진단 및 대응 실무 1일차 (0) | 2022.10.18 |