繁体   English   中英

Docker 带有两个 InfluxDB 的 Grafana:连接被拒绝

[英]Docker Grafana with two InfluxDBs: Connection refused

我创建了一个新的 docker-stack,我需要几个 influxdb 实例,我无法连接到我的 grafana 容器 atm。 这是我的 docker-compose.yml 的一个端口

services:
  grafana:
    image: grafana/grafana
    container_name: grafana
    restart: always
    ports:
      - 3000:3000
    networks:
      - monitoring
    volumes:
      - grafana-volume:/var/lib/grafana

  influxdb:
    image: influxdb
    container_name: influxdb
    restart: always
    ports:
      - 8086:8086
    networks:
      - monitoring
    volumes:
      - influxdb-volume:/var/lib/influxdb

  influxdb-2:
    image: influxdb
    container_name: influxdb-2
    restart: always
    ports:
      - 12380:12380
    networks:
      - monitoring
    volumes:
      - influxdb-volume-2:/var/lib/influxdb

当我尝试使用 influxdb-2 在 grafana 中创建新的 influxdb 数据源时,出现网络错误:错误网关(502),日志文件显示:

2782ca98a4d7_grafana | 2019/10/05 13:18:50 http: proxy error: dial tcp 172.20.0.4:12380: connect: connection refused

有任何想法吗?

谢谢

@hmm 提供了答案。

在 Docker Compose 中创建服务时,您:

  • 能够通过服务名称访问容器。 Grafana 将使用该名称引用influxdb-2
  • 无法更改容器公开的端口。 根据@hmm,仍然必须在端口8086上引用influxdb-2 ,因为这是容器公开的端口; 除非您更改图像,否则您无法更改它。
  • 您可以(但您不需要)将容器的端口公开给主机(使用--ports: [[HOST-PORT]]:[[CONTAINER-PORT]]

总而言之,应该将influxdb-2中的 InfluxDB 服务引用为influxdb-2:8086 如果你想将此服务公开给主机(,),你可以做ports: - 12380:8086 您可以将12380的值更改为主机上可用的值,但不能更改容器端口 ( 8086 ) 的值。

influxdb-2上包含--ports:标志的主要原因是为了从主机进行调试。 但是grafana服务不需要这个。 它将通过 Docker Compose 在端口8086上提供的网络访问influxdb-2服务。

确实希望在主机上公开grafana服务,否则,您(从主机)将无法访问它。 它类似于公共|私人。 grafana是主机公共的,但influxdb*服务可能是主机私有的,因为它们通常只被grafana服务需要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM