You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
2.0 KiB
YAML

version: '3'
services:
elasticsearch:
container_name: elasticsearch
hostname: elasticsearch
image: elasticsearch:7.5.0
privileged: true
restart: always
ports:
- 9200:9200
healthcheck:
test: ["CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
environment:
- discovery.type=single-node
- bootstrap.memory_lock=true
- TZ=Asia/Shanghai
- "ES_JAVA_OPTS=-Xms3g -Xmx3g"
ulimits:
memlock:
soft: -1
hard: -1
networks:
elk_net:
ipv4_address: 172.15.238.80
kibana:
container_name: kibana
hostname: kibana
image: kibana:7.5.0
depends_on:
- elasticsearch
links:
- elasticsearch
volumes:
- /docker/elk/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml
ports:
- 90:5601
restart: always
networks:
- elk_net
logstash:
container_name: logstash
hostname: logstash
image: logstash:7.5.0
volumes:
- /docker/elk/logstash/config/logstash.conf:/usr/share/logstash/conf/logstash.conf
- /docker/elk/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml
command: logstash -f ./conf/logstash.conf
depends_on:
- elasticsearch
links:
- elasticsearch
ports:
- 5044:5044
restart: always
networks:
- elk_net
filebeat:
container_name: filebeat
hostname: filebeat
image: elastic/filebeat:7.5.0
restart: always
user: root
volumes:
- /docker/elk/filebeat/config/filebeat.yml:/usr/share/filebeat/filebeat.yml
- /docker/elk/filebeat/logs:/usr/share/filebeat/logs
- /docker/elk/filebeat/data:/usr/share/filebeat/data
depends_on:
- logstash
links:
- logstash
ports:
- 9000:9000
networks:
- elk_net
networks:
elk_net:
driver: bridge
ipam:
config:
- subnet: 172.15.238.0/24