Pnetlab Docker Test & Grafana


Docker Chrome 

Grafana(Docker pull로 Docker Hub에서 가져오기)


  • mkdir 명령어를 이용해 docker-compose.yaml 파일이 위치할 디렉토리 생성


  • vi로 docker-compose.yaml 파일 작성 
    docker-compose.yaml
    version: '3.3' #Pnetlab에서 3.4 이상으로 하면 Pnetlab Docker 버전이 낮아 Error 발생
    
    networks:
      monitoring-net:
        driver: bridge
        ipam:
          driver: default
          config:
            - subnet: 192.20.0.0/24
    
    services:
      loki:
        image: grafana/loki:latest
        container_name: loki
        ports:
          - "3100:3100"
        networks:
          - monitoring-net
        restart: unless-stopped
    
      grafana:
        image: grafana/grafana:latest
        container_name: grafana
        ports:
          - "3000:3000"
        depends_on:
          - loki
        networks:
          - monitoring-net
        volumes:
          - ./grafana_provisioning:/etc/grafana/provisioning
        restart: unless-stopped
    
      nginx:
        image: nginx:latest
        container_name: nginx
        ports:
          - "80:80"
        networks:
          - monitoring-net
        volumes:
          - ./nginx.conf:/etc/nginx/nginx.conf:ro
        depends_on:
          - grafana
        restart: unless-stopped


  • vi로 nginx.conf 생성 후 작성 
    nginx.conf
    worker_processes auto;
    
    events {
        worker_connections 1024;
    }
    
    http {
        include /etc/nginx/mime.types;
        default_type application/octet-stream;
    
        sendfile on;
        keepalive_timeout 65;
    
        server {
            listen 80;
            server_name _;
    
            location / {
                proxy_pass http://grafana:3000; # Grafana 
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
            }
    
            # 만약 Loki UI도 Nginx를 통해 접근하고 싶다면 추가
            # location /loki/ {
            #     proxy_pass http://loki:3100/;
            #     proxy_set_header Host $host;
            #     proxy_set_header X-Real-IP $remote_addr;
            #     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            #     proxy_set_header X-Forwarded-Proto $scheme;
            # }
        }
    }


  • docker-compose 시작
    docker-compose up


  • Ubuntu의 버전이 낮으면 아래 사진과 같은 현상 발생