Docker Grafana有两个XDB:连接被拒绝

Docker Grafana有两个XDB:连接被拒绝,docker,grafana,influxdb,Docker,Grafana,Influxdb,我创建了一个新的docker堆栈,在那里我需要几个XDB实例,但我无法连接到我的grafana容器atm。这是我的docker-compose.yml的一个端口 services: grafana: image: grafana/grafana container_name: grafana restart: always ports: - 3000:3000 networks: - monitoring volumes

我创建了一个新的docker堆栈,在那里我需要几个XDB实例,但我无法连接到我的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,
    influxdb-2
    仍然必须在端口
    8086
    上引用,因为这是容器公开的端口;除非更改图像,否则无法更改它
  • 您可以(但不需要)向主机公开容器的端口(使用
    --PORT:[[host-PORT]]:[[CONTAINER-PORT]]]
长的和短的是
InfluxDB-2
中的InfluxDB服务应该被引用为
InfluxDB-2:8086
。如果您想向主机公开此服务(!),您可以执行以下操作:
端口:-12380:8086
。您可以将
12380
的值更改为主机上可用的值,但不能更改容器端口的值(
8086

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

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


HTH!

为什么
influxdb-2
公开
12380
而不是
8086
?因为我需要两个容器。我想我需要分别处理它们?你不需要。如果,它将是
12380:8086
,除非你更改influxdb-2中influxdb正在侦听的端口。对不起,我发布了错误的文件版本。我我已经在使用12380:8086作为influxdb-2,这给了我这个错误。所以这不是解决方案,您不能使用
12380
grafana
引用
influxdb-2
grafana
服务知道
influxdb-2
的名称和使用端口
8086
。错误表明您引用了按端口插入XDB-2
12380
:tcp 172.20.0.4:12380:连接:连接refused@Ochzo然后请通过编辑来更新问题。另外需要注意的一点是:无需手动设置网络。docker compose会自动创建网络。