Как заставить docker запускать телеграф и слушать порт на главном устройстве? - PullRequest
0 голосов
/ 01 августа 2020
• 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
...