Я пытаюсь запустить файл docker compose на MacOS для запуска Telegraf, Mosquitto (MQTT), Grafana и InfluxDB. Я пытаюсь запустить Telegraf с измененным файлом конфигурации. Конечная цель - хранить и отображать данные, посылаемые с датчика мышц Arduino.
Файл компоновки docker в настоящее время выглядит следующим образом:
version: '3'
services:
influxdb:
container_name: influxdb
image: influxdb
ports:
- "8086:8086"
environment:
- INFLUXDB_DB=sensors
- INFLUXDB_ADMIN_USER=telegraf
- INFLUXDB_ADMIN_PASSWORD=telegraf
restart: always
telegraf:
image: telegraf
restart: always
ports:
- "5050:5050"
volumes:
- $PWD/telegraf.conf:/etc/telegraf/telegraf.conf:ro
grafana:
container_name: grafana
image: grafana/grafana
links:
- influxdb
hostname: grafana
ports:
- "3000:3000"
mosquitto:
container_name: mosquitto
image: eclipse-mosquitto
ports:
- "1883:1883"
- "9001:9001"
depends_on:
- influxdb
restart: always
Я могу запустить команду сборки, и Mosquitto, Grafana и InfluxDB, кажется, все работают, однако есть ряд проблем с Telegraf. Независимо от того, какие изменения внесены в том в файле compose, используется файл конфигурации по умолчанию для Telegraf, в отличие от моей измененной конфигурации, которая, по-видимому, предотвращает отправку данных в InfluxDB.
Сообщение Telegraf об ошибке в InfluxDB выглядит следующим образом:
telegraf | 2020-03-03T11:40:49Z E! [outputs.influxdb] When writing to [http://localhost:8086]: Post http://localhost:8086/write?db=telegraf: dial tcp 127.0.0.1:8086: connect: connection refused
telegraf | 2020-03-03T11:40:49Z E! [agent] Error writing to outputs.influxdb: could not write any address
Кажется, что Mosquitto работает, поскольку приложение MQTT.fx может подключаться и публиковать / подписываться на контейнер. Однако существуют регулярные соединения, которые устанавливаются и сбрасываются с неизвестным именем.
Следующая ошибка соединения постоянно регистрируется:
mosquitto | 1583247033: New connection from 172.25.0.1 on port 1883.
mosquitto | 1583247033: Client <unknown> disconnected due to protocol error.
Я подумал о написании файла настройки Telegraf для настройки файла конфигурации, однако это мне кажется, что это излишне, так как я понимаю, что раздел тома файла compose должен позволять использовать этот файл конфигурации.
Мой файл telegraf.conf находится в том же каталоге, что и файл docker -compose.yml .
Вопрос в том, а) Правильно ли я считаю, что контейнер использует файл телеграфа по умолчанию? Б) Как получить измененный файл telegraf.conf для контейнера