• 1000 Я запускаю сервер на своем хост-устройстве и запускаю telegraf в docker с помощью следующей команды:
docker run -d --name=telegraf \
-p 8086:8086 \
-v $PWD/telegraf.conf:/etc/telegraf/telegraf.conf:ro \
telegraf:1.14
Он работает нормально.
my docker -compose файл выглядит так:
version: '2.2'
services:
influxdb:
container_name: influxdb
image: "influxdb:1.8"
restart: always
networks:
monitoring:
ports:
- "8086:8086"
volumes:
- influxdb:/var/lib/influxdb
grafana:
container_name: grafana
image: grafana/grafana
networks:
monitoring:
restart: always
ports:
- "3001:3000"
volumes:
- grafana-storage:/var/lib/grafana
depends_on:
- influxdb
nodered:
container_name: nodered
restart: always
image: nodered/node-red
network_mode: "host"
ports:
- "1880:1880"
volumes:
- node-red-data:/data
depends_on:
- influxdb
telegraf:
container_name: telegraf
networks:
monitoring:
volumes:
- '$PWD/telegraf.conf:/etc/telegraf/telegraf.conf:ro'
image: 'telegraf:1.14'
networks:
monitoring:
volumes:
influxdb:
grafana-storage:
node-red-data:
Я считаю, что ему нужно каким-то образом прослушивать хост-систему, но я не уверен, как это сделать, поскольку порт 8086 уже привязан к контейнеру притока.
Я пытался используйте
telegraf:
container_name: telegraf
restart: always
network_mode: "host"
volumes:
- './telegraf.conf:/etc/telegraf/telegraf.conf:ro'
image: 'telegraf:1.14'
, он просто выходит с кодом 1, и я не уверен, почему.
когда я запускаю эту docker команду запуска, она работает нормально
docker run -d --name=telegraf \
--network=host \
-v $PWD/telegraf.conf:/etc/telegraf/telegraf.conf:ro \
telegraf:1.14