version: '3' services: prometheus: image: 'prom/prometheus:v2.1.0' container_name: prometheus ports: - '9090:9090' command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' - '--web.console.libraries=/usr/share/prometheus/console_libraries' - '--web.console.templates=/usr/share/prometheus/consoles' volumes: - './prometheus.yml:/etc/prometheus/prometheus.yml:ro' - './alert.rules:/etc/prometheus/alert.rules' depends_on: - cadvisor networks: - samplenet cadvisor: image: google/cadvisor container_name: cadvisor ports: - '8081:8081' volumes: - '/:/rootfs:ro' - '/var/run:/var/run:rw' - '/sys:/sys:ro' - '/var/lib/docker/:/var/lib/docker:ro' networks: - samplenet alertmanager: image: prom/alertmanager ports: - '9093:9093' volumes: - './alertmanager/:/etc/alertmanager/' restart: always command: - '--config.file=/etc/alertmanager/config.yml' - '--storage.path=/alertmanager' networks: - samplenet node-exporter: image: prom/node-exporter volumes: - '/proc:/host/proc:ro' - '/sys:/host/sys:ro' - '/:/rootfs:ro' command: - '--path.procfs=/host/proc' - '--path.sysfs=/host/sys' - '--collector.filesystem.ignored-mount-points' - ^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/) ports: - '9100:9100' networks: - samplenet restart: always grafana: image: grafana/grafana depends_on: - prometheus ports: - '3000:3000' volumes: - 'grafana_data:/var/lib/grafana' - './grafana/provisioning/:/etc/grafana/provisioning/' env_file: - ./grafana/config.monitoring networks: - samplenet restart: always volumes: grafana_data: {} prometheus_data: {}