You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Docker Compose中通过PromLens连接Prometheus?

解决PromLens无法连接Docker Compose中Prometheus的问题

问题原因

你遇到的核心问题有两个:

  1. 域名解析限制:prometheus是Docker Compose内部网络的服务域名,仅容器之间可识别,但你的浏览器运行在宿主机环境,无法解析该域名。
  2. 跨域(CORS)限制:即使改用宿主机的localhost:9090,Prometheus默认也不允许跨域请求,导致浏览器无法正常获取数据。

方案一:开启Prometheus跨域支持(最简方案)

直接修改Prometheus配置开启CORS,然后用宿主机地址连接:

  1. 创建本地Prometheus配置文件 prometheus.yml:
global:
  scrape_interval: 15s

scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]

# 添加跨域配置
web:
  enable-cors: true
  cors-origin: "http://localhost:8080"  # 仅允许PromLens的域名访问,生产环境建议严格限制
  1. 修改Docker Compose文件,挂载配置文件:
services:
  prometheus:
    image: prom/prometheus:v2.50.1
    ports:
      - 9090:9090
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml  # 挂载本地配置到容器内

  promlens:
    image: prom/promlens:v0.3.0
    ports:
      - 8080:8080
  1. 重启容器:
docker-compose down && docker-compose up -d
  1. 在PromLens中输入 http://localhost:9090 即可正常连接。

方案二:Docker内部网络隔离方案(适合生产环境)

如果不想将Prometheus暴露给宿主机,可通过Nginx反向代理实现内部网络访问+跨域支持:

  1. 修改Docker Compose,添加Nginx代理服务:
services:
  prometheus:
    image: prom/prometheus:v2.50.1
    networks:
      - monitoring  # 仅加入内部监控网络

  promlens:
    image: prom/promlens:v0.3.0
    ports:
      - 8080:8080
    networks:
      - monitoring

  nginx:
    image: nginx:alpine
    ports:
      - 9090:80
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    networks:
      - monitoring

networks:
  monitoring:
    driver: bridge
  1. 创建Nginx配置文件 nginx.conf:
events {}

http {
  server {
    listen 80;

    location / {
      proxy_pass http://prometheus:9090;
      # 配置跨域头
      add_header Access-Control-Allow-Origin "http://localhost:8080";
      add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
      add_header Access-Control-Allow-Headers "Content-Type";

      if ($request_method = OPTIONS) {
        return 204;
      }
    }
  }
}
  1. 重启容器后,在PromLens中输入 http://localhost:9090 即可连接。

内容的提问来源于stack exchange,提问作者Maxim Suslov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 15:46:21