Docker Grafana有两个XDB:连接被拒绝
我创建了一个新的docker堆栈,在那里我需要几个XDB实例,但我无法连接到我的grafana容器atm。这是我的docker-compose.yml的一个端口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
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-212380
:tcp 172.20.0.4:12380:连接:连接refused@Ochzo然后请通过编辑来更新问题。另外需要注意的一点是:无需手动设置网络。docker compose会自动创建网络。