1、将相应配置文件从容器中拷贝出来本机
docker run -d --name prometheus imagexxxx
docker cp prometheus:/etc/prometheus/prometheus.yml ./
alertmanager同理
2、编写配置文件
vim prometheus-compose.yml
version: '3.7'
networks:
monitor:
driver: bridge
services:
prometheus:
image: prom/prometheus
container_name: prometheus
hostname: prometheus
restart: always
user: root
volumes:
- ./prometheus/conf:/etc/prometheus
- ./prometheus/data:/prometheus
ports:
- "9090:9090"
networks:
- monitor
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
alertmanager:
image: prom/alertmanager
container_name: alertmanager
hostname: alertmanager
user: root
restart: always
volumes:
- ./alertmanager/conf:/etc/alertmanager
ports:
- "9094:9093"
networks:
- monitor
grafana:
image: grafana/grafana
container_name: grafana
hostname: grafana
user: root
restart: always
ports:
- "3000:3000"
volumes:
- ./grafana/data:/var/lib/grafana
networks:
- monitor
node-exporter:
image: quay.io/prometheus/node-exporter
container_name: node-exporter
hostname: node-exporter
restart: always
user: root
ports:
- "9100:9100"
networks:
- monitor
consul:
image: consul:1.9.4
container_name: "consul"
restart: always
user: root
ports:
- "8500:8500"
volumes:
- ./consul/data:/consul/data
command: [agent,-server,-ui,-client=0.0.0.0,-bootstrap-expect=1]
对应的文件挂载请自行创建
3、运行
docker-compose -f prometheus-compose.yml up -d