본문 바로가기

프로젝트/[클라우드 스터디]토이프로젝트

docker로 vnstat 구성하기 (매우 기초만)

해당 미니 프로젝트로 진행할 것 

  1. 이미지 다운 및 컨테이너 생성
  2. 네트워크 설정
  3. 컨테이너 로그 확인 및디버깅
  4. 볼륨 관리
  5. 리소스 제한 및 모니터링

 

 

vnstat이란?

웹 서버의 트래픽을 체크해 볼 수 있는 프로그램




vnstat 도커 이미지 다운 및 컨테이너 생성

docker run -d \

    --restart=unless-stopped \

    --network=host \

    -e HTTP_PORT=8685 \

    -v /etc/localtime:/etc/localtime:ro \

    -v /etc/timezone:/etc/timezone:ro \

    --name vnstat \

    vergoh/vnstat

 

명령어 해석

1. docker run -d
-d: Detached mode, 백그라운드에서 컨테이너 실행

2. --restart=unless-stopped
컨테이너가 중지되면 재부팅 후 자동 시작하지만, 사용자가 명시적으로 중지하면 다시 시작하지 않음

3. --network=host
호스트 네트워크 모드 사용
→ 컨테이너가 호스트와 같은 네트워크 환경을 공유하여 별도의 가상 네트워크를 만들지 않음

4. -e HTTP_PORT=8685
환경 변수 HTTP_PORT를 8685로 설정
→ 컨테이너 내에서 웹 서비스가 해당 포트를 사용할 가능성이 큼

5. -v /etc/localtime:/etc/localtime:ro
호스트의 /etc/localtime을 컨테이너에 읽기 전용(ro)으로 마운트
→ 호스트와 동일한 시간대를 유지

6. -v /etc/timezone:/etc/timezone:ro
호스트의 /etc/timezone을 컨테이너에 읽기 전용(ro)으로 마운트
→ 시간대 설정을 호스트와 동일하게 유지

7. --name vnstat
컨테이너 이름을 vnstat으로 지정
→ 나중에 docker stop vnstat, docker logs vnstat 등으로 쉽게 관리 가능

8. vergoh/vnstat
사용할 Docker 이미지 (vergoh/vnstat)
→ vnStat은 네트워크 트래픽 모니터링 도구

 


성공적인 설치

 




접속 방법

본인 VM ip:8685    or     localhost:8685

만일 이렇게 빈 화면으로 나온다면 방화벽 설정을 확인해줘야 한다! 

iptables -I INPUT -p tcp --dport 8685 -j ACCEPT

 

정책 설정을 해주고 새로고침을 해주면 모니터링 화면이 나온다. 

 



좀 더 제대로 모니터링 서버를 구축하려면 웹 서버, DB서버를 연동해서 간단한 웹 서비스를 운영해야 할 것 같다. 

 

참고 

https://mungkhs1.tistory.com/47