services: prometheus: image: prom/prometheus:v2.37.1 volumes: - ./prometheus:/etc/prometheus - prometheus_data:/prometheus 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" deploy: placement: constraints: - node.role == manager networks: - traefik-public node-exporter: image: prom/node-exporter:v1.3.1 volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro command: - "--path.procfs=/host/proc" - "--path.sysfs=/host/sys" - "--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)" deploy: mode: global networks: - traefik-public cadvisor: image: gcr.io/cadvisor/cadvisor:v0.45.0 volumes: - /:/rootfs:ro - /var/run:/var/run:ro - /sys:/sys:ro - /var/lib/docker/:/var/lib/docker:ro - /dev/disk/:/dev/disk:ro deploy: mode: global networks: - traefik-public volumes: prometheus_data: networks: traefik-public: external: true