遵循教程。我有以下docker compose:
version: "3.9"
services:
grafana:
image: grafana/grafana
ports:
- 3000:3000
prometheus:
image: prom/prometheus
ports:
- 9090:9090
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
postgres:
image: postgres:12
ports:
- 5432:5432
volumes:
- ./backup:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: postgrespassword
POSTGRES_DB: shop
postgres-exporter:
image: prometheuscommunity/postgres-exporter
ports:
- 9187:9187
environment:
DATA_SOURCE_NAME: "postgresql://postgres:postgrespassword@postgres:5432/shop?sslmode=disable"
links:
- postgres
- prometheus
这是我的普罗米修斯。yml:
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: prometheus
static_configs:
- targets: ["localhost:9090"]
- job_name: postgres-exporter
static_configs:
- targets: ["postgres-exporter:9187"]
我意识到我需要做一些改变,所以把集装箱拿下来。但我注意到我仍然可以访问:
http://xxx.xx.xx.xxx:9090/config
在检查容器时,它似乎重新启动了普罗米修斯。我再次禁用它,检查浏览器,看到它再次重新启动。另外,我对普罗米修斯所做的任何改变。yml不会反映在配置中。
我检查了正在运行的服务,没有prometheus在docker之外运行的示例。禁用docker服务会使它关闭,但一旦我重新启用它,它就会再次出现,并且总是使用旧的配置。
有什么想法吗?(也试过杀死端口,只是重生)
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
34c66a78b75e prom/prometheus:latest "/bin/prometheus --c…" 2 hours ago Up 2 hours 9090/tcp my-prometheus.1.iht6uk1okzlb3gc9y9jdaf2fg
1条答案
按热度按时间9jyewag01#
遇到了完全相同的问题,原来是Docker Swarm导致了这个问题。
要验证,请运行
docker inspect container_name
命令并检查是否提到docker swarm。如果是,使用
docker service ls
列出服务并删除创建www.example的特定服务 www.example.com 容器使用docker service rm service_name
。这为我们解决了问题。