1
나는 다음과 같은 고정 표시기-작성 파일이 있습니다도커 컨테이너 통신
version: '2'
services:
# Define a Telegraf service
telegraf:
build: Services/Telegraf
image: jit-systems/telegraf
environment:
HOST_PROC: /rootfs/proc
HOST_SYS: /rootfs/sys
HOST_ETC: /rootfs/etc
volumes:
#- ./etc/telegraf.conf:/etc/telegraf/telegraf.conf:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- /sys:/rootfs/sys:ro
- /proc:/rootfs/proc:ro
- /etc:/rootfs/etc:ro
- /var/log/telegraf:/var/log/telegraf
links:
- influxdb
logging:
driver: json-file
options:
max-size: "100m"
max-file: "3"
networks:
- influx
- default
depends_on:
- influxdb
restart: always
# Define an InfluxDB service
influxdb:
image: influxdb:1.2.0
volumes:
#- ./data/influxdb:/var/lib/influxdb
- influxdb:/var/lib/influxdb
networks:
- influx
- default
#this port should not be exposed
ports:
- "8086:8086"
logging:
driver: json-file
options:
max-size: "100m"
max-file: "3"
restart: always
# Define a Kapacitor service
kapacitor:
image: kapacitor:1.2.0
environment:
KAPACITOR_HOSTNAME: kapacitor
KAPACITOR_INFLUXDB_0_URLS_0: http://influxdb:8086
volumes:
- influxdb:/home/docker_containers/kapacitor/volume
- influxdb:/var/lib/kapacitor
- /var/log/kapacitor:/var/log/kapacitor
links:
- influxdb
logging:
driver: json-file
options:
max-size: "100m"
max-file: "3"
networks:
- influx
- default
depends_on:
- influxdb
restart: always
grafana:
image: grafana/grafana
ports:
- 3000:3000
volumes:
- grafana:/var/lib/grafana
env_file:
- config.monitoring
links:
- influxdb
logging:
driver: json-file
options:
max-size: "100m"
max-file: "3"
restart: always
volumes:
influxdb:
portainer:
grafana:
networks:
influx:
모든 컨테이너가 successfuly 구축됩니다. Telegraf가 Influx에 데이터를 삽입하고 있습니다. 오류가 발생하지 않습니다. 이는 포트 8086이 노출 된 경우에만 발생합니다. 포트 8086을 닫으면 아무런 데이터도 삽입되지 않지만 데이터베이스는 Grafana 데이터 소스 패널에서 볼 수 있습니다. 연결을 저장하면 연결에 성공했다는 메시지가 표시됩니다. 포트 8086을 공개하지 않고 Influxdb 컨테이너에서 데이터를 가져 오는 방법이 있습니까?