我创建了一个新的坞栈,在这里我需要几个进水数据库实例,这些实例无法连接到我的grafana容器atm。这是我码头的一个港口
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当我尝试用进水数据库2在grafana中创建一个新的进水数据库数据源时,我得到了一个网络错误:坏网关(502),日志文件显示:
2782ca98a4d7_grafana | 2019/10/05 13:18:50 http: proxy error: dial tcp 172.20.0.4:12380: connect: connection refused有什么想法吗?
谢谢
发布于 2019-10-05 17:19:57
@hmm提供了答案。
在Docker内部创建服务时,您可以:
influxdb-2。--ports: [[HOST-PORT]]:[[CONTAINER-PORT]]上引用influxdb-2,因为这是容器公开的端口;除非更改图像,否则不能更改它。
它的缺点是influxdb-2中的influxdb-2服务应该被引用为influxdb-2:8086。如果要将此服务公开给主机(!),可以执行ports: - 12380:8086。您可以将12380的值更改为主机上可用的值,但不能更改容器端口(8086)的值。
将--ports:标志包含在influxdb-2上的主要原因是为了从主机进行调试。但是grafana服务不需要这个。它将通过8086端口上由Docker提供的网络访问该8086服务。
do希望在主机上公开grafana服务,因为否则,您将无法(从主机)访问该服务。就像公共私密。grafana是主机公共的,但是influxdb*服务可能是主机私有的,因为它们通常只需要grafana服务。
哈哈!
https://stackoverflow.com/questions/58250218
复制相似问题