docker - docker-compose 中的 InfluxDB 无法允许连接
问题描述
我正在尝试在 docker-compose 中将 TICK-Stack 与 RabbitMQ 一起设置,但我无法将任何东西连接到 InfluxDB。无论我尝试什么,我总是会收到连接被拒绝的错误。有人可以向我解释如何设置此堆栈以使其正常工作吗?
我还看到,当我第一次创建容器时,没有创建新的数据库。官方容器有问题吗?
码头工人-compose.yml
version: '3'
services:
rabbitmq:
build: .
image: mqtt-rabbitmq
environment:
- RABBITMQ_ERLANG_COOKIE=${RABBITMQ_ERLANG_COOKIE}
- RABBITMQ_DEFAULT_USER=${RABBITMQ_DEFAULT_USER}
- RABBITMQ_DEFAULT_PASS=${RABBITMQ_DEFAULT_PASS}
- RABBITMQ_DEFAULT_VHOST=${RABBITMQ_DEFAULT_VHOST}
ports:
- "15672:15672"
- "5672:5672"
- "1883:1883"
influxdb:
image: influxdb:1.7-alpine
environment:
- AUTH_ENABLED=false
- INFLUXDB_HTTP_AUTH_ENABLED=false
- INFLUXDB_ADMIN_USER=telegraf
- INFLUXDB_ADMIN_PASSWORD=telegraf
- INFLUXDB_DB=telegraf
volumes:
- ./influxdb/data:/var/lib/influxdb
- ./influxdb/config/:/etc/influxdb/
ports:
- "8086:8086"
- "8082:8082"
- "8089:8089/udp"
telegraf:
image: telegraf:1.11-alpine
environment:
HOSTNAME: "telegraf-getting-started"
links:
- influxdb
volumes:
- ./telegraf.conf:/etc/telegraf/telegraf.conf:ro
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- rabbitmq
- influxdb
kapacitor:
image: kapacitor:1.5-alpine
volumes:
- ./kapacitor/data/:/var/lib/kapacitor
- ./kapacitor/config/:/etc/kapacitor/
links:
- influxdb
ports:
- "9092:9092"
chronograf:
image: chronograf:1.7-alpine
environment:
RESOURCES_PATH: "/usr/share/chronograf/resources"
volumes:
- ./chronograf/data/:/var/lib/chronograf/
links:
- influxdb
- kapacitor
ports:
- "8888:8888"
depends_on:
- kapacitor
- influxdb
- telegraf
电报文件
[global_tags]
dc = "localhost"
[agent]
interval = "1s"
debug = true
# OUTPUTS
[[outputs.influxdb]]
url = "http://localhost:8086"
database = "telegraf"
precision = "ns"
# INPUTS
[[inputs.cpu]]
percpu = true
totalcpu = false
fielddrop = ["time_*"]
[[inputs.mqtt_consumer]]
name_prefix = "influx"
servers = ["tcp://rabbitmq:1883"]
qos = 0
connection_timeout = "30s"
topics = [
"test",
]
persistent_session = false
client_id = ""
username = "rabbitmq"
password = "rabbitmq"
data_format = "json"
json_string_fields = ["symbol"]
解决方案
尝试将您的流入图像更改为以下图像
influxdb:
image: quay.io/influxdb/influxdb:v2.0.3
container_name: influxdb
restart: always
networks:
- monitoring
environment:
- INFLUXDB_DB=telegraf
- INFLUXDB_USER=telegraf
- INFLUXDB_ADMIN_ENABLED=true
- INFLUXDB_ADMIN_USER=admin
- INFLUXDB_ADMIN_PASSWORD=admin
volumes:
- ./influxdb/data:/var/lib/influxdb
- ./influxdb/config/:/etc/influxdb/
ports:
- "8086:8086"
- "8082:8082"
- "8089:8089/udp"
推荐阅读
- laravel - Laravel/Livewire:在模型路由绑定上使用 withTrashed() 以显示已删除的记录
- c - 在简化的shell程序中,程序使用了两个chars数组,如下图(在userin.c代码中)
- vue.js - Vue - v-for 修改值
- google-chrome - 火狐 - webRequest.onBeforeSendHeaders
- python - 如何在不简单地减去帧的情况下使用 opencv 检测帧之间是否存在运动?
- django - “详细信息”:“未找到。” 在 Django rest-api 中
- javascript - 从 JavaScript 调用函数到 Node.js 时如何解决错误 require() 未定义
- python - 如何在熊猫列中从时间拆分 0000000+00:00
- python - 用于乘法特征的 keras 和 tensorflow 中的神经网络
- list - 来自列表谓词的 Prolog 列表