Cloud/Docker

Docker) Docker Volume Nginx container 실습해보기

Adım Kim 2022. 10. 4. 22:04
실습 환경 : AWS console (2022/10), Visual Studio Code
실습 목적 : Nginx container에 volume(bind mount)을 통해 log정보와 web application 정보 관리 해보기

1. volume (bind mount) 으로 사용할 디렉토리 생성

(1)  web application 정보관리 디렉토리 생성
mkdir webapp-log

  #  webapp-log 디렉토리는 container와 마운트되어 web application 정보 로그를 저장한다.


(2)  webapplication 저장 디렉토리 생성

mkdir calc-web

  #  calc-web 디렉토리는 container의 web application을 저장한다.




2. container 생성

(1)  -v 옵션으로 bind mount 해서 container 생성

docker run -dit -p 80:80 --name webserver \
-v "$(pwd)"/webapp-log:/var/log/nginx \
-v "$(pwd)"/calc-web:/usr/share/nginx/html nginx

  #  -v 옵션을 두개 사용하여 log정보와 webapplication 정보를 저장할 디렉토리를 mount한다.
  #  -v "$(pwd)"/webapp-log:/var/log/nginx : log 정보를 저장할 디렉토리 bind-mount
  #  -v "$(pwd)"/calc-web:/usr/share/nginx/html nginx : web application 정보를 저장할 디렉토리 bind-mount




3. log 파일 생성 확인

(1)  access.log

tail -n 3 -f webapp-log/access.log

  #  웹 페이지에 접속하면 webapp-log 디렉토리의 access.log 파일에 접속 로그가 나타난다.


(2)  error.log

tail -n 3 -f webapp-log/error.log

  #  잘못된 페이지에 접속하여 error가 나면, webapp-log 디렉토리의 error.log 파일에 에러 로그가 나타난다.