services:
docker-socket-proxy:
image: wollomatic/socket-proxy:1
container_name: docker-socket-proxy
restart: unless-stopped
user: "0:0" mem_limit: 64M
read_only: true
cap_drop:
- ALL
security_opt:
- no-new-privileges
command:
- '-loglevel=info'
- '-listenip=0.0.0.0'
- '-allowfrom=docker-prometheus-exporter'
- '-allowGET=^(/v[\d\.]+)?/((version)|(_ping)|(containers/json)|(containers/[a-zA-Z0-9_.-]+/json))$'
- '-watchdoginterval=3600' - '-stoponwatchdog' - '-shutdowngracetime=5' volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- docker-socket-proxy
labels:
"docker-prometheus-exporter.metric.container_health.enabled": true
docker-prometheus-exporter:
container_name: docker-prometheus-exporter
build: .
environment:
- RUST_LOG=info,docker_prometheus_exporter=info
- LISTEN_ADDR=0.0.0.0
- DOCKER_HOST=tcp://docker-socket-proxy:2375
ports:
- "127.0.0.1:9000:9000"
labels:
"docker-prometheus-exporter.metric.container_health.enabled": true
depends_on:
- docker-socket-proxy
restart: unless-stopped
read_only: true
security_opt:
- no-new-privileges=true
cap_drop:
- ALL
networks:
- docker-socket-proxy
- docker-prometheus-exporter
user: "65534:65534"
networks:
docker-socket-proxy:
driver: bridge
internal: true
docker-prometheus-exporter: