设置基于 docker 的 InfluxDB/Grafana 网络时出现问题

Posted

技术标签:

【中文标题】设置基于 docker 的 InfluxDB/Grafana 网络时出现问题【英文标题】:Problems setting up a docker based InfluxDB/Grafana network 【发布时间】:2021-11-19 22:29:14 【问题描述】:

我的意图是使用 Windows Docker 部署 InfluxDB 2.0.8 数据库,并通过同一 docker 网络上的自托管 Grafana 实例链接到它。

为此,我已完成以下步骤:

    通过以下方式启动网络、InfluxDB 和 Grafana:
docker network create influxdb
docker run -d --net=influxdb --name=grafana -p 3000:3000 grafana/grafana
docker run -d --net=influxdb --name=influxdb -p 8086:8086 --volume C:/influxdb:/var/lib/influxdb2 influxdb:2.0.8
    打开 http://localhost:8086 设置基础。通过 InfluxDB UI 获取以下详细信息:
组织 ID(来自“关于”页面) 令牌(来自令牌页面,使用已经生成的) 默认存储桶(我创建的存储桶) 网址 (http://localhost:8086)
    然后我通过 localhost:3000 进入 Grafana 并添加一个 InfluxDB 数据存储(Flux)并输入上述详细信息。但是,当我测试它时,我收到“读取 InfluxDB 时出错”。在控制台中,我收到以下错误:
POST http://localhost:3000/api/ds/query 400 (Bad Request)
refId: 'test', message: 'Post "http://localhost:8086/api/v2/query?org=35e0f…l tcp 127.0.0.1:8086: connect: connection refused'

知道上面可能缺少什么吗?

【问题讨论】:

【参考方案1】:

我认为从 grafana 访问 influx 的另一种方法是从容器名称访问它: 将 influxdb 数据源设置为: 涌入数据库:8086

【讨论】:

【参考方案2】:

    运行命令docker network inspect influxdb。在那里你可以在Gateway找到IP并使用它。

    或使用您的容器名称:

http://influxdb:8086/...

我还建议阅读Official Documentation 了解 Docker 网络通信。

【讨论】:

以上是关于设置基于 docker 的 InfluxDB/Grafana 网络时出现问题的主要内容,如果未能解决你的问题,请参考以下文章

在基于 docker 的 GitLab CI 设置中为 maven 存储 settings.xml 的位置

如何基于 docker compose 和 testcontainers 设置 Spring Boot 的本地开发环境属性?

基于 docker-compose 环境变量将文件添加到 docker 容器

Ansible 实战:基于docker运行ansible

基于Docker搭建大数据集群Docker环境部署

docker中怎样设置开机启动--随容器的启动而启动服务?