簡體   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